#include<cstdio> #include<cstring> using namespace std; //char *s1 = &str[i][ans];表示取第i行 从ans位置开始的字符串 //想到的唯一难点就是如何把截取的字符串去除,开始想了substr,但太麻烦了 //慢慢来呗,对指针还是不熟悉呀。 int main() { int n; while(scanf("%d",&n),n) { char str[105][105]; char *s1,*s2; for(int i = 0; i<n; ++i) scanf("%s",str[i]); int ans; bool f = true; for(ans = 0 ; f ; ++ans) { for(int i = 0; i<n; ++i) { if(str[i][ans]=='\0'||!f) { f = false; break; } for(int j = i+1; j<n; ++j) { s1 = &str[i][ans]; s2 = &str[j][ans]; if(strcmp(s1,s2)==0) { f = false; break; } } } } printf("%d\n",ans-2); } return 0; }