題解 Luogu1739 表示式括號匹配

2022-02-23 10:45:04 字數 2151 閱讀 3618

這是一篇良心部落格。

在這裡,你會看到所有你可能踩到的坑。

所以,作者用這個方式來掩飾自己超蒻……

一眼看過去,水題乙個!隨手寫了這麼乙個**:

#include int main()

std::cout << !flag?"yes":"no";

}

結果:

(艹測評機你不打臉會死啊喂)

然後,改為do-while

#include int main()while(c != '@');

std::cout << !flag?"yes":"no";

}

再 次 吐 血

再次思考,考慮到:)(這種匹配方式,那麼加個特判:

再 次 吐 血

我…………

再次點開乙個資料:

(a*2*3+1*2+3)+(3*2)+(1*2))1*1(@

^ ^

哦哦哦還有個特判!結尾'('的情況!

再次修改:

還有?!再次點開資料:

(0)*(2+2)*)3+4((3+10)@
看到這個資料,我突然發現問題就在我的思路上,考慮不到)(這個情況。

但是能不能順著我的思路繼續做呢?完 全 可 以。

考慮到如果出現)(的話,會出現:

flag = 0

c = ) flag-- -> flag = -1

^^

負數!那麼修改一下:

題解 LuoGu7073 表示式

原題傳送門 我覺得,這道題目主要考察的還是把字尾表示式轉成一棵樹 然後遍歷一遍樹求出每個節點的值 然後暴力改動每個節點的值,往上跑,如果某乙個時刻新算的值跟原來一樣,那麼就不用進行下去,否則繼續 結果果然只t了乙個點,然後我開了o2就過了 code include define maxn 10000...

洛谷1739 表示式括號匹配

假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。輸入格式 一行 表示式 輸出格式 一行 yes 或 no 輸入樣例 1 2 x y...

P1739 表示式括號匹配

假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。輸入格式 一行 表示式 輸出格式 一行 yes 或 no 輸入樣例 1 2 x y...