洛谷1739 表示式括號匹配

2021-07-27 11:01:28 字數 818 閱讀 6023

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

輸入格式:

一行:表示式

輸出格式:

一行:「yes」 或「no」

輸入樣例#1:

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

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

輸出樣例#1:

yes②

no

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

題解:水題。記錄乙個sum,左括號+1右括號-1,過程中<0直接輸出no,最終結果=0輸出yes否則輸出no

省賽中講到了這種處理括號匹配的方法做一題試用一下

var

sum:longint;

ch:char;

begin

while not eoln do

begin

read(ch);

if ch='(' then inc(sum);

if ch=')' then dec(sum);

if sum<0 then

begin

writeln('no');

halt;

end;

end;

if sum=0 then writeln('yes') else writeln('no');

end.

洛谷P1739 表示式括號匹配

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

洛谷 P1739 表示式括號匹配

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

洛谷P1739 表示式括號匹配

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