描述
現在,有一行括號序列,請你檢查這行括號是否配對。
輸入第一行輸入乙個數n(0輸出
每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no
樣例輸入
3[(])
(])([()])
樣例輸出
nonoyes
看到網上對這道題的解釋都是使用棧,確實使用棧比較方便快捷,但是發現用字串做容器,配上計數器也是乙個不錯的選擇。
#include #include #include using namespace std;
int main()
if (i == 0)
continue;
//當括號為 ( 或者為 ] 時判斷其合法性
if (str[i] == ']' && str[i-1] == '(')
else if (str[i] == ')' && str[i-1] == '[')
}if (fz != fy || yz != yy) //若是數量不對也是不合法的
flag = 0;
if (flag == 1) printf("yes\n");
else printf("no\n");
}return 0;
}
NYOJ 括號配對問題
括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 n 100 表示有n組測試資料。後面的n行輸入多組輸入資料,每組輸入資料都是乙個字串s s的長度小於10000,且s不是空串 測試資料組...
NYOJ 括號配對問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes includ...
nyoj 括號配對問題(棧)
括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 nono ye...