题目:括号配对
思路:
最开始以为[]
和()
分开处理就好了,但是[(])
这样的数据过不去。
我们可以计算出这段序列有多少已经配好对的括号,[(])
只计算[]
或()
中的一个,而[((]))
只计算(())
。
然后剩下来的每个字符都需要一个相应的字符与之对应。
代码:
#include<bits/stdc++.h>
using namespace std;
#define maxn 100
char a[maxn+5];
int n;
int f[maxn+5][maxn+5];
int main