nyoj 2 括號配對問題

2021-06-28 00:38:10 字數 779 閱讀 8204

時間限制:

3000 ms  |            記憶體限制:

65535 kb

難度: 3

描述 現在,有一行括號序列,請你檢查這行括號是否配對。

輸入第一行輸入乙個數n(0輸出

每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

附上四個**:以前不懂棧...一開始真心卡殼!——————>我們首先要知道,如果字串滿足括號配對:它最裡面(內層)一定有,(),意思就是一定會存在兩個括號正好配對且它們內部沒有括號的情況(乾脆稱這類括號為配空括號,要知道ascll中[和]差2,(和)差1)。比如([()])最裡面就有,()。我們可以從這點出發,先把裡面配空括號的找出來,然後刪去(用後面的字元頂上配空括號的位置),!!(這點要明白————>若原字串滿足括號配對,去掉配空括號後一定還滿足)!!之後的思路就是這樣,繼續找下乙個配空括號...把找到的配空括號加起來若等於字串長度(注意字串長度不能是奇數)的一半即可。

#include#includeint main()}}

if(num.empty())

printf("yes\n");

else

printf("no\n");

}return 0;

}

NYOJ 2 括號配對問題

第一次用棧來寫的 早上隊長講了一下,了解了下基礎,覺得c 的棧可以直接呼叫,c的棧卻要自己定義,還是該花時間好好看c 這是用c寫的 includestruct stack void initstack stack a 構造乙個空棧 void push stack a,char item 往棧裡面插入...

NYOJ 2 括號配對問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyesv.back ...

NYOJ 2 括號配對問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 題解 括號匹...