時間限制:3000 ms | 記憶體限制:65535 kb
難度:3
描述
現在,有一行括號序列,請你檢查這行括號是否配對。
輸入
第一行輸入乙個數n(0輸出
每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no
樣例輸入
3
[(])
(])([()])
樣例輸出
nonoyes
這個題目中涉及的括號配對問題,使用堆疊(stack)的先進後出的特性來解決。在c++中使用stl(標準模板庫)的stack標頭檔案:
1)遍歷輸入的字串陣列:
當堆疊s物件為空時,直接入棧;
不為空時,判斷和棧首元素是否配對,如果配對將棧首元素出棧,否則入棧
2)遍歷結束判斷:如果堆疊s為空,配對成功,否則失敗
#include #include #include //堆疊標頭檔案
using namespace std;
#define maxsize 10010
int main(){
int n,len;
stacks; //定義堆疊物件
char str[maxsize];
cin>>n;
while(n--){
cin>>str;
len=strlen(str);
if(len%2!=0){ //如果括號字串是奇數時
cout<<"no"<
南陽理工ACM 2括號配對問題
括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0naonao 1 include include int main void else j if stack j str i stack j ...
南陽理工oj P2 括號配對問題
時間限制 3000 ms 記憶體限制 65535 kb 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes題目 分析我們可以考慮利...
括號配對問題 南陽理工oj 題目2)
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 運用棧,首先...