NYOJ--2
?
原題鏈接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2
分析:從后面往前面掃描,遇到配對的就刪去,否則保存在棧里,繼續掃描時,檢查其是否與棧頂元素配對。
括號配對問題
1 2 #include<cstdio> 3 #include<cstring> 4 #include <stack> 5 #include <iostream> 6 using namespace std; 7 stack<char>d; 8 int main() 9 { 10 int N,len,i,flag; 11 char S[10005]; 12 scanf("%d",&N); 13 getchar(); 14 while(N--) 15 { 16 while(!d.empty())d.pop(); 17 scanf("%s",S); 18 len=strlen(S); 19 if(len%2==1)printf("No\n"); 20 else 21 { 22 for(i=len-1;i>=0;i--) 23 { 24 if(S[i-1]=='['&&S[i]==']'||S[i-1]=='('&&S[i]==')') 25 i--; 26 else 27 { 28 if(d.empty())d.push(S[i]); 29 else 30 { 31 if(S[i]=='['&&d.top()==']'||S[i]=='('&&d.top()==')') 32 d.pop(); 33 else d.push(S[i]); 34 } 35 } 36 } 37 if(d.empty())printf("Yes\n"); 38 else printf("No\n"); 39 } 40 } 41 return 0; 42 } 43?
轉載于:https://www.cnblogs.com/i-love-acm/archive/2013/05/31/3111290.html
總結
- 上一篇: 使用MVC4,Ninject,EF,Mo
- 下一篇: PowerDesigner15官方正式版