時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:3描述
現在,有一行括號序列,請你檢查這行括號是否配對。 輸入
第一行輸入乙個數n(0輸出
每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no
樣例輸入
3[(])
(])([()])
樣例輸出
nonoyes
**
第一種做法: 棧
#include#include#include#includeusing namespace std;
struct sstack
;void initstack(sstack &s)//建立棧
bool isemptystack(sstack &s)//判斷棧是否為空
int pushstack(sstack &s,char c)//入棧
int popstack(sstack &s)//出棧
char topstack(sstack &s)//輸出棧頂元素
int main()
if(i>1)
printf("no\n");//最後檢查陣列中是否存入了括號,有就是有括號不配對
else
printf("yes\n");
}return 0;
}第三種:指標 難理解
#include#includeint judge(char *p)
if(*ptmp==']')
}if(yy)//([)
return -1;
} if(yy)
if(*ptmp==']')
}if(xx)
return -1;}}
return 0;
}int main()
j++;
} if(x==0 && y==0)//先初步判斷括號是否成對
else
printf("no\n");
} return 0;
}
nyoj2 括號配對問題 棧 三種做法
時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 第一種做法 ...
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 ...