SSL1659 棧練習括弧匹配檢驗

2021-07-30 05:51:57 字數 1118 閱讀 9090

棧練習括弧匹配檢驗

description

假設表示式中允許包含兩種括號:圓括號和方括號,其巢狀的順序隨意,如([ ]())或[([ ][ ])]等為正確的匹配,[( ])或([ ]( )或 ( ( ) ) )均為錯誤的匹配。 

現在的問題是,要求檢驗乙個給定表示式中的括弧是否正確匹配? 

輸入乙個只包含圓括號和方括號的字串,判斷字串中的括號是否匹配,匹配就輸出 「ok」 ,不匹配就輸出「wrong」。 

input

輸入僅一行字元(字元個數小於255)

output

匹配就輸出 「ok」 ,不匹配就輸出「wrong」。

分析:遇到左括號就入棧,遇到右括號如果匹配就將棧頂左括號出棧,不匹配就是wrong。

**

vara:array[0..1000] of char;

ch:char;

l:longint;

begin

while not eoln do

begin

read(ch);

if (ch='[') or (ch='(') then

begin

inc(l);

a[l]:=ch;

endelse

begin

if ch=']' then if a[l]<>'['

then begin

writeln('wrong');

halt;

endelse dec(l);

if ch=')' then if a[l]<>'('

then begin

writeln('wrong');

halt;

endelse dec(l);

end;

end;

if (ch='(') or (ch=']') or (l>0) then

begin

writeln('wrong');

halt;

end;

writeln('ok');

end.

luogu P1659 養豬 dp 好理解

你有乙個豬圈,有n頭豬,每天你最多可以殺一頭豬賣錢,獲益就是豬的體重。但是每過一天每頭豬的體重都會下降p i 當然,如果豬體重 0了,自然獲利為0 問k天內你的最大獲利。輸入格式 第一行兩個數n k 第二行n個數,表示豬的初始重量a i 第三行n個數表示p i 資料規模 對於20 的資料,滿足1 n...

洛谷P1659 啦啦隊排練

題目大意 給定乙個長度為 n 的字串,求前 k 個長度為奇數的回文子串的長度的乘積是多少。題解 利用回文自動機,將所有長度的回文串和個數求出來,按照長度排序進行模擬即可。如下 luogu judger enable o2 include using namespace std const int m...

NOJ1659 求值 log10取對 floor

想法 看題目就知道無法使用陣列,這就要想到使用對數來使資料以指數形式儲存,因為c是小於10,這個辦法顯然可行。具體思路上,a b x,那麼設t b log10 a 於是,t的整數部分即為10的n次方,相當於x 10 n,而t的小數部分就可以拿來控制位數,當要求c位時乘以10 c 1 即可。核心 in...