poj 3852(水题,注意m的初值要在while循环里赋值)
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; int main(){ char a[105][105]; int i,j,k,n,m; while(scanf("%d",&n)&&n){ m=105; for(i=0;i<n;i++){ scanf("%s",a[i]); if(m>strlen(a[i])){ m = strlen(a[i]); } } for(i=0;i<m;i++){ for(j=0;j<n-1;j++){ for(k=j+1;k<n;k++){ if(strcmp(a[j]+i,a[k]+i)==0){ goto l0; } } } } l0: printf("%d\n",i-1); } return 0; }

浙公网安备 33010602011771号