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

这个为什么会超时啊,大家帮我看看啊!

Posted by KangBox at 2007-08-08 21:21:18 on Problem 1159
short a[5001][3];
main(){  int n,j,i,flag;
	char c[5001];
	scanf("%d%s",&n,c);
	for(j=0;j+1<n;j++) if(c[j]!=c[j+1]) a[j][1]=1;
	for(flag=i=2;i<n;i++,flag=(flag+1)%3)
		for(j=0;j+i<n;j++){
			if(c[j]==c[j+i]) a[j][flag]=a[j+1][(flag+1)%3];
			else a[j][flag]=1+((a[j][(flag+2)%3]<a[j+1][(flag+2)%3])?a[j][(flag+2)%3]:a[j+1][(flag+2)%3]);
		}
	printf("%d",a[0][(flag+2)%3]);
}

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