码迷,mamicode.com
首页 > 其他好文 > 详细

poj1068

时间:2016-01-07 01:11:19      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
#include<cstring>
int num[25],result[25];
char s[150];
int main()
{
	using namespace std;
	int n,m;
	cin >> n;
	while(n--){
		cin >> m;
		for(int i=0;i<m;++i)
			cin >> num[i];
		int ans=0;
		int t=0;
		for(int i=0;i<m;++i){
			if(ans!=num[i]){
				int c=num[i]-ans;for(int j=t;j<t+c;++j)	s[j]=‘(‘;
				t+=c;s[t]=‘)‘;++t;ans=num[i];
			}
			else{
				s[t]=‘)‘;++t;
			}
		}
		int tot=0;ans=0;
		for(int i=0;i<t;++i){
			if(s[i]==‘)‘){
				++tot;
				int you=1;
				for(int j=i-1;j>=0;j--){
					if(s[j]==‘)‘)	++you,++tot;
					else if(s[j]==‘(‘)	--you;
					if(!you)	break;
				}
				result[ans++]=tot;
				tot=0;
			}
		}
		for(int i=0;i<ans-1;++i)
			cout << result[i] << " ";
			cout << result[ans-1] << endl;
	}
}

  

poj1068

标签:

原文地址:http://www.cnblogs.com/sasuke-/p/5107841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!