| ||||||||||
| 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 | |||||||||
Re:请好心人帮忙看看哪错了~In Reply To:请好心人帮忙看看哪错了~ Posted by:coobj2008 at 2011-08-30 18:30:48 > #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