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

poj 1068 Parencodings 模拟

时间:2014-07-16 17:34:05      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:使用   for   io   re   c   ar   

输入的是在每个‘ )  ‘前有多少‘ (  ’,

要我们求得是在每个‘ ) ’前有多少个‘ )  ’,

我的方法是将最原始的图給还原出来,再去寻找‘)’。

对于已经配对的要进行标记不要重复使用。。

#include<stdio.h>
#include<string.h>
int y[505],t[505];
char s[505];
int main()
{
	int a,b,i,j,u;
	scanf("%d",&a);
	while(a--)
	{
		memset(y,0,sizeof(y));
		memset(t,0,sizeof(t));
		memset(s,0,sizeof(s));
		scanf("%d",&b);
		for(i=0;i<b;i++)
		{scanf("%d",&y[i]);
		}
		int sum=1;
		int ans;
		for(i=0,j=0;i<505;i++)
		{
			if(sum<=y[j])
			{
				s[i]='(';
				sum++;
			}
			else
			{
				s[i]=')';
				j++;
			}
			if(j>=b)
				break;
		}
		u=strlen(s);
		for(i=0;i<u;i++)
		{
			if(s[i]=='(')
				continue;
			else
			{
				ans=1;
				t[i]=1;
				for(j=i-1;j>=0;j--)
				{
					if(s[j]==')')
						ans++;
					if(t[j]==0)
					{
						if(s[j]=='(')
						{t[j]=1;break;}
					}
				}
				printf("%d ",ans);
			}
		}
		printf("\n");
	}
	return 0;
}



poj 1068 Parencodings 模拟,布布扣,bubuko.com

poj 1068 Parencodings 模拟

标签:使用   for   io   re   c   ar   

原文地址:http://blog.csdn.net/asuxiexie/article/details/37820041

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