切換
舊版
前往
大廳
主題

ZeroJudge - b331: NOIP2013 2.表達式求值 解題心得

Not In My Back Yard | 2019-09-14 23:03:28 | 巴幣 2 | 人氣 200

題目連結:


題目大意:
給定一個運算式,只包含數字和「+」、「*」兩個運算子,且不會出現任何空格。當中出現的數字介於 0 ~ 2 ^ 31 - 1 之間。(運算子的數量不超過 100000)

請輸出此運算式之值。因為答案可能很大,因此請輸出答案的末四位即可。



範例輸入:
1+1*3+4


範例輸出:
8


解題思維:
分析運算式的方式,參見以前的文章

至於取末四位的答案,等價於取 10000 的餘數。且「先運算後取餘」和「先取餘後運算」的結果是同餘的(等價)。因此可以每做一次運算就取一次餘數。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作