洛谷P1739 表示式括號匹配

2021-08-21 07:11:17 字數 914 閱讀 4324

假設乙個表示式有英文本母(小寫)、運算子(+,—,*,/)和左右小(圓)括號構成,以「@」作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回「yes」;否則返回「no」。表示式長度小於255,左圓括號少於20個。

輸入格式:

一行:表示式

輸出格式:

一行:「yes」 或「no」

輸入樣例#1:

2*(x+y)/(1-x)@

輸出樣例#1:

yes

輸入樣例#2:

(25+x)*(a*(a+b+b)@

輸出樣例#2:

no

表示式長度小於255,左圓括號少於20個

#include #include #include #include //標頭檔案

using namespace std;//不加這個會出錯(告訴一些新人的,大佬勿噴)

int ok=0;//狀態的變數(大佬千萬別改bool)

char a;//記錄字元

int i=0;//之後的特判要用

int main()

//特判:第乙個為『)』,結束,不對,自己想想看

if (a=='(') ok++;//是左括號就++

if (a==')') ok--;//是有括號就--

if (ok<0) //特判:多了右括號,結束(多了左沒事,但不可以多右,想想看)

if (a=='@')

//特判無效:比較ok是不是為0(是0表示左右括號都一樣多,結束)

}}

洛谷P1739 表示式括號匹配

表示式括號匹配 題目描述 表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。分析 用類似棧的方法做,從前往後記錄左括號出現個數,每找到乙個右...

洛谷 P1739 表示式括號匹配

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

洛谷P1739 表示式括號匹配

題目背景 我竟然開始做這種題了我這種題之前竟然沒做 說真的 這道題的資料範圍沒啥用啊 假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20...