本站遷移

因為我最近租用了網路空間以及網域,
故本站已遷移至新網站~
這邊的資訊已經正在進行搬移的工作~
希望各位可以到新網站去逛XD

New Website:
http://knightzone.org/

搜尋此網誌

2011年1月19日 星期三

[Zerojudge]a017: 五則運算

利用stringstream將運算元及運算子以空白隔開,
並一一讀取。

讀到運算元就丟入運算元的堆疊中,
讀到運算子就丟入運算子的堆疊中,
並判斷上一個運算子的優先度是否大於等於它,
若是的話,就一直執行,直到遇到比它小的運算子才放進堆疊中。

唯'('和')'比較特別,
丟入堆疊時:
( > * = / = % > + > - > ),
判斷時:
* = / = % > + > - > ( 。

遇到')',要一直輸出,只要輸出到'(',就把'('消去,也不把自己')'存進堆疊中。

這樣做完即可得解。

[C++](6ms, 766KB)

0 意見:

張貼留言