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

有没有人帮帮我,wa的好奇怪,自己的测试数据都成功,就是不知道错在哪里了?

Posted by CM89 at 2010-08-11 18:30:31 on Problem 2138
#include<stdio.h>
#include<string>
using namespace std;

char sta[80];
char str[1001][80];
bool v[1001];
int n;
int maxlen;

void solve(int base)
{
	if(strlen(str[base])>strlen(str[maxlen])) maxlen=base;
	int i,j;
	for(i=0; i<=n; i++)
	{
		if(v[i]==false && strlen(str[i])-strlen(str[base])==1)
		{
			for(j=0; str[i][j]==str[base][j] ; j++);
			for(; j<strlen(str[i]) && str[i][j+1]==str[base][j]; j++);
			if(j==strlen(str[i]))
			{
				v[i]=true;
				solve(i);				
			}
		}		
	}
}

int main()
{
	
	int i;
	while(scanf("%d", &n )!=EOF && n>0)
	{
		memset(v,false,1001*sizeof(bool));
		memset(str,0,1001*80*sizeof(char));
		v[0]=true;

		for(i=0; i<=n; i++)
		{
			scanf("%s", &str[i]);
		}
		maxlen=0;
		solve(0);
		printf("%s\n", str[maxlen]);

	}
	
	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