nyoj 2 括號配對問題

2021-07-04 03:03:21 字數 627 閱讀 1710

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:3

描述

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

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

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

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

思路:這用到棧的知識,設定乙個int變數top,如果是s[0]為]或)時輸出no,如果字串的長度為奇數時輸出no,令a[top]==s[i];當出現相鄰兩個字元配對的話,刪去,用配對的括號兩端頂上去。重複進行,如果最後top==0時yes,否則no
**:
#include#include#includechar s[11000],a[11000];

int main()

else

else

{a[0]=s[0];

top=1;

for(i=1;i

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 題解 括號匹...