Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:自己测了很多数据都是正确的 但交上去却wa 请各路大侠帮忙看下啊

Posted by wuxiangli at 2014-08-06 10:40:44 on Problem 2955
In Reply To:自己测了很多数据都是正确的 但交上去却wa 请各路大侠帮忙看下啊 Posted by:huzuosheng at 2007-07-30 12:07:27
> #include <stdio.h>
> #include <string.h>
> 
> char seq[100];
> int pre[100];
> int max[100];
> 
> int main()
> {
> 	int i,j,k,l,b;
>     #ifndef ONLINE_JUDGE
>     freopen ("2955.txt","r",stdin);
>     #endif
> 
> 	while(scanf("%s",seq)!=EOF&&seq[0]!='e')
> 	{
> 		memset(pre,-1,sizeof(pre));
> 		memset(max,0,sizeof(max));
> 		l=strlen(seq);
> 		for(i=0;i<l;i++)
> 		{
> 			if(seq[i]=='('||seq[i]=='[') 
> 			{
> 				max[i]=1;
> 				pre[i]=i;
> 				for(j=i-1;j>=0;j--)
> 				{
> 					if(seq[j]==')'||seq[j]==']')
> 					{
> 						max[i]=max[j]+1;
> 						pre[i]=pre[j];
> 						break;
> 					}
> 				}
> 			}
> 			else
> 			{
> 				for(j=i-1;j>=0;j--)
> 				{
> 					b=0;
> 					if(seq[j]==seq[i]-1||seq[j]==seq[i]-2)
> 					{
> 						if(max[i]<2)
> 						{
> 							max[i]=max[j]+1;
> 					    	pre[i]=j;
> 						}						
> 						for(k=i-1;k>j;k--)
> 						{
> 							if(pre[k]>j&&(seq[k]==')'||seq[k]==']'))
> 							{
> 								b+=max[k]-max[pre[k]]+1;
> 								k=pre[k];
> 							}
> 						}
> 						if(b+max[j]+1>max[i])  
> 						{
> 							max[i]=b+max[j]+1;
> 							pre[i]=j;
> 						}
> 					}
> 				}
> 			}			
> 		}
> 		b=0;
> 		for(i=0;i<l;i++)
> 			if(seq[i]==')'||seq[i]==']')
> 				if(b<max[i])   b=max[i];
> 		printf("%d\n",b);                               
> 	}
> 	return 0;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator