| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
有没有人帮帮我,wa的好奇怪,自己的测试数据都成功,就是不知道错在哪里了?#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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator