P1981 表示式求值

2021-10-05 08:13:34 字數 1184 閱讀 5510

題目鏈結

題目描述

給定乙個只包含加法和乘法的算術表示式,請你程式設計計算表示式的值。

輸入格式

一行,為需要你計算的表示式,表示式中只包含數字、加法運算子「+」和乘法運算子「×」,且沒有括號,所有參與運算的數字均為 0 到 2^31-1之間的整數。

輸入資料保證這一行只有 0−9、+、×這 12種字元。

輸出格式

乙個整數,表示這個表示式的值。

注意:當答案長度多於 4 位時,請只輸出最後 4 位,前導 0 不輸出。

輸入輸出樣例

輸入 #1

1+1

*3+4

輸出 #1

8
輸入 #2

1

+1234567890

*1

輸出 #2

7891
輸入 #3

1

+1000000003

*1

輸出 #3

4
說明/提示

對於 30%的資料,0≤表示式中加法運算子和乘法運算子的總數≤100;

對於 80%的資料,0≤表示式中加法運算子和乘法運算子的總數≤1000;

對於100%的資料,0≤表示式中加法運算子和乘法運算子的總數≤100000。

又是因為主觀意識判斷題目難度…orz

之前學棧的時候,有個例題就是這個

感覺寫起來太複雜,於是就放棄了這個題(昨天的牛客演算法周周練3)

今天補題,看到別人的**

有被驚豔到,來和你們分享hhh

腦子真的是乙個好東西

題解:主要就是分成一塊一塊相加,用乙個變數記錄兩個加號之間數的和,遇到下面的加號時,就把這個和加到答案裡去。

**其實清晰易懂

#include

#include

#include

using

namespace std;

intmain()

else

} ans +

= p;

cout << ans%

10000

<< endl;

}

P1981 表示式求值

題解 這個題聯想一下 p1310 表示式的值 思路就是輸入中綴式,轉成字尾式,然後按字尾式計算,完美!but!會嚴重re,因為你可能會輸入中綴式的時候輸入非常的長,然後你還要開棧,開字尾式陣列,還要轉化,嚴重re what about 一邊輸入一邊處理?how?首先你一定會輸入乙個數字 因為這是中綴...

洛谷p1981 表示式求值

題前廢話 咱也不知道咱寫了個什麼神奇的 導致 rqy都看不明白它是怎麼re掉的,的大致思路是這樣的 對於這樣乙個中綴表示式,先轉化成它的字尾表示式的形式,然後利用p1449 字尾表示式 這道題的solution來求解這個式子,但是咱也不知道為啥咱也找不出來為啥,它的所有語句都是可以正常執行的,最後答...

資料結構 P1981 表示式求值

給定乙個只包含加法和乘法的算術表示式,請你程式設計計算表示式的值。一行,為需要你計算的表示式,表示式中只包含數字 加法運算子 和乘法運算子 且沒有括號,所有參與運算的數字均為 0到 2 之間的整數。輸入資料保證這一行只有0 9 這 1212種字元。乙個整數,表示這個表示式的值。注意 當答案長度多於 ...