就从最后开始比较,注意要用getline,而且要把第一个数字后面的回车读掉。
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
int len;
scanf("%d\n",&len);
vector<string> vec(len);
int minsize=9999999;
for(int i=0;i<len;i++){
getline(cin,vec[i]);
minsize=min((int)vec[i].size(),minsize);
}
int idx=0;
for(;idx<minsize;idx++){
bool flag=true;
char c=*(vec[0].end()-idx-1);
for(int i=1;i<len;i++){
if(c!=*(vec[i].end()-idx-1)){
flag=false;
break;
}
}
if(!flag)break;
}
if(idx==0)printf("nai");
else{
s=vec[0].substr(vec[0].size()-idx);
while(s[0]==' ')s.erase(0,1);
printf("%s",s.c_str());
}
}