用时10ms
算法1
#include <cstdio>
#include <cstring>
int main(){
int n,x;
bool flag;
char a[2][201];
while(true){
x=0;
flag=true;
scanf("%d",&n);
if(!n) return 0;
scanf("%s",a[1]);
--n;
for(int i=0;i<n;++i){
flag=!flag;
scanf("%s",a[flag]);
for(int j=strlen(a[1])-1,k=strlen(a[0])-1;j>=(flag?0:x)&&k>=(flag?x:0);--j,--k){
if(a[1][j]!=a[0][k]){
x=(flag?j:k)+1;
break;
}
if(j==x||k==x) x=(flag?j:k);
}
}
if(x!=strlen(a[flag]))
for(int i=x;i<strlen(a[flag]);++i)
putchar(a[flag][i]);
putchar('\n');
}
}