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