明明進(jìn)了中學(xué)之后,學(xué)到了代數(shù)表達(dá)式。有一天,他碰到一個很麻煩的選擇題。這個題目的題干中首先給出了一個代數(shù)表達(dá)式,然后列出了若干選項(xiàng),每個選項(xiàng)也是一個代數(shù)表達(dá)式,題目的要求是判斷選項(xiàng)中哪些代數(shù)表達(dá)式是和題干中的表達(dá)式等價的。這個題目手算很麻煩,因?yàn)槊髅鲗τ嬎銠C(jī)編程很感興趣,所以他想是不是可以用計算機(jī)來解決這個問題。假設(shè)你是明明,能完成這個任務(wù)嗎?
這個選擇題中的每個表達(dá)式都滿足下面的性質(zhì):
1.表達(dá)式只可能包含一個變量‘a(chǎn)’。
2.表達(dá)式中出現(xiàn)的數(shù)都是正整數(shù),而且都小于10000。
3.表達(dá)式中可以包括四種運(yùn)算‘+’(加),‘-’(減),‘*’(乘),‘^’(乘冪),以及小括號‘(’,‘)’。小括號的優(yōu)先級最高,其次是‘^’,然后是‘*’,最后是‘+’和‘-’。‘+’和‘-’的優(yōu)先級是相同的。相同優(yōu)先級的運(yùn)算從左到右進(jìn)行。(注意:運(yùn)算符‘+’,‘-’,‘*’,‘^’以及小括號‘(’,‘)’都是英文字符)
4.冪指數(shù)只可能是1到10之間的正整數(shù)(包括1和10)。
5.表達(dá)式內(nèi)部,頭部或者尾部都可能有一些多余的空格。
下面是一些合理的表達(dá)式的例子: ((a^1) ^ 2)^3,a*a+a-a,((a+a)),9999+(a-a)*a,1 + (a -1)^3,1^10^9…… 對于30%的數(shù)據(jù),表達(dá)式中只可能出現(xiàn)兩種運(yùn)算符‘+’和‘-’; 對于其它的數(shù)據(jù),四種運(yùn)算符‘+’,‘-’,‘*’,‘^’在表達(dá)式中都可能出現(xiàn)。 對于全部的數(shù)據(jù),表達(dá)式中都可能出現(xiàn)小括號‘(’和‘)’。
(a+1)^2 3 (a-1)^2+4*a a+1+a a^2+2*a*1+1^2+10-10+a-a
AC