pku acm 1068

来源:互联网 发布:等腰杨辉三角c语言程序 编辑:程序博客网 时间:2024/09/21 08:14
//括号匹配问题#include <iostream>#include <cstdio>using namespace std;int pseq[22];//接收输入p-sequenceint harr[22];//辅助数组,统计pseq[i-1]和pseq[i]之间还有多少个'('没有匹配int wseq[22];//结果w-sequenceint count;int main(){freopen("in.txt","r",stdin);int t; // 1 <= t <= 10cin>>t;while(t--){count = 1;pseq[0] = harr[0] = 0;int n;// 1 <= n <= 20cin>>n;while(n--){cin>>pseq[count];//cout<<pseq[count]<<" ";harr[count] = pseq[count] - pseq[count - 1];count++;}//cout<<endl<<"count = "<<count<<endl;{//beginfor(int i = 1; i < count; i++){if(pseq[i] != pseq[i-1]){wseq[i] = 1;harr[i]--;}else{int j;for(j = i-1; j >= 1; j--){if(harr[j] > 0){harr[j]--;break;}}wseq[i] = i-j+1;}cout<<wseq[i]<<" ";}cout<<endl;}//end}return 1;}

测试数据:

4
1
1
2
2 2
6
4 5 6 6 6 6
9
4 6 6 6 6 8 9 9 9


原创粉丝点击