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<iostream> using namespace std; struct STRING { char word[50]; char Prefixes[50]; }; int main() { STRING str[1000]; int stn[1000]; int i,j,k; i=0; while(scanf("%s",str[i].word)!=EOF) { str[i].Prefixes[0]='\0'; for(j=i;j>0;j--) { if(strcmp(str[stn[j-1]].word,str[i].word)==-1) { break; } else { stn[j]=stn[j-1]; } } stn[j]=i; i++; } int l1,l2,m,n,l; str[0].Prefixes[0]=str[0].word[0]; str[0].Prefixes[1]='\0'; for(j=0;j<i-1;j++) { m=stn[j]; n=stn[j+1]; l=strlen(str[m].Prefixes); l1=strlen(str[m].word); l2=strlen(str[n].word); for(k=0;k<=l1 && k<=l2;k++) { if(str[m].word[k]==str[n].word[k]) { str[m].Prefixes[k]=str[m].word[k]; str[n].Prefixes[k]=str[n].word[k]; } else { str[m].Prefixes[k]=str[m].word[k]; str[n].Prefixes[k]=str[n].word[k]; break; } } if(k>l) str[m].Prefixes[k+1]='\0'; str[n].Prefixes[k+1]='\0'; } for(j=0;j<i;j++) { printf("%s %s\n",str[j].word,str[j].Prefixes); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator