兼顾不匹配以及最短字符串完全匹配两种情况。
注意gets函数不能用了。。。
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n;
cin >> n;
getchar();
char temp[101][257];
string s;
int cnt = 0, min_len = 257;
for(int i = 0; i < n; i++){
getline(cin, s);
int j = s.length();
for(int k = j; k >= 0; k--){
temp[i][j - k] = s[k-1];
}
if(min_len > j) min_len = j;
}
bool flag = true;
for(int i = 1; i < n; i ++){
for(int j = 0; j < min_len; j++){
if(temp[i][j] != temp[i-1][j]){
cnt = j;
flag = false;
break;
}else if(flag == true){
cnt = min_len;
}
}
}
if(cnt == 0) cout << "nai" << endl;
else{
for(int i = cnt-1; i >= 0; i--) cout << temp[0][i];
}
return 0;
}