c++括号匹配
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2134.html
#include <stdio.h>
#include <string.h>
#include <queue>
using namespace std;
const int maxn =1e6+7;
int a[200][200];
int main()
{
char s[60];
while(gets(s))
{
int len = strlen(s);
char Stack[99999];
int top =0,f = 0;
for(int i=0;i<len;i++)
{
if(s[i]=='('||s[i]=='['||s[i]=='{')
{
Stack[top++] = s[i];
}
else
{
if(s[i]==')')
{
if(top ==0||Stack[top-1]!='(')
{
f =1;
break;
}
else if(Stack[top-1]=='(')
{
top--;
}
}
if(s[i]==']')
{
if(top ==0||Stack[top-1]!='[')
{
f =1;
break;
}
else if(Stack[top-1]=='[')
{
top--;
}
}
if(s[i]=='}')
{
if(top ==0||Stack[top-1]!='{')
{
f =1;
break;
}
else if(Stack[top-1]=='{')
{
top--;
}
}
}
}
if(!f&top==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
/***************************************************
User name: jk160505徐红博
Result: Accepted
Take time: 0ms
Take Memory: 196KB
Submit time: 2017-10-14 21:48:36
****************************************************/