南陽理工acm 括號配對問題

2021-08-19 10:07:07 字數 923 閱讀 4562

時間限制:3000 ms  |  記憶體限制:65535 kb

難度:3

描述

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

輸入

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

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

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

這個題目中涉及的括號配對問題,使用堆疊(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 運用棧,首先...