| ||||||||||
| 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 | |||||||||
请好心人帮忙看看哪错了~#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
struct node
{
char s[100];
int len;
int g;
}e[1005];
bool cmp(const node &a,const node &b)
{
if(a.len!=b.len) return a.len<b.len;
else return strcmp(a.s,b.s)>0?false:true;
}
int main()
{
int i,j,k,m,n,d,flag,ans,temp;
char str[100];
scanf("%d %s",&d,str);
for(i=0;i<d;i++)
{
scanf("%s",e[i].s);
e[i].len=strlen(e[i].s);
e[i].g=0;
}
sort(e,e+d,cmp);
for(i=0;i<d;i++)
if(strcmp(str,e[i].s)==0)
{
e[i].g=1;
break;
}
for(j=i;j<d;j++)
for(k=j+1;k<d;k++)
{
flag=1;
m=n=0;
int cc=0;
if(e[j].len+1==e[k].len)
{
while(e[j].s[m]&&e[k].s[n])
{
if(e[j].s[m]!=e[k].s[n])
{
if(cc==0)
{
cc++;
m--;
}
else
{
flag=0;
break;
}
}
m++;
n++;
}
}
else flag=0;
if(flag) e[k].g=e[j].g+1;
}
ans=0;
for(i=0;i<d;i++)
if(ans<e[i].g)
{
ans=e[i].g;
temp=i;
}
printf("%s\n",e[temp].s);
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator