Description
You are given a string consisting of parentheses () and []. A string of this type is said to be correct:
- (a)
- if it is the empty string (b)
- if A and B are correct, AB is correct, (c)
- if A is correct, (A ) and [A ] is correct.
Write a program that takes a sequence of strings of this type and check their correctness. Your program can assume that the maximum string length is 128.
The file contains a positive integer n and a sequence of n strings of parentheses () and [], one string a line.
A sequence of Yes or No on the output file.
3([])(([()])))([()[]()])()
YesNoYes
思路:
使用栈模拟就好
#include"iostream"#include"cstring"#include"stdio.h" using namespace std; int main() { int T; cin>>T; getchar(); while(T--) { char a[130]; gets(a); char stack[130]; int top=0; int len=strlen(a); bool ok=true; for(int i=0;i