题意:
输入一个正整数N(<=100),接着输入N行字符串。输出N行字符串的最长公共后缀,否则输出nai。
AAAAAccepted code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 string s[107]; 4 int length[107]; 5 char ans[307]; 6 int main(){ 7 ios::sync_with_stdio(false); 8 cin.tie(NULL); 9 cout.tie(NULL); 10 int n; 11 cin>>n; 12 cin.ignore(); 13 int mn=999999; 14 for(int i=1;i<=n;++i){ 15 getline(cin,s[i]); 16 length[i]=s[i].size(); 17 mn=min(mn,length[i]); 18 } 19 int cnt=0; 20 for(int x=1;x<=mn;++x){ 21 int flag=0; 22 for(int i=2;i<=n;++i) 23 if(s[i][length[i]-x]!=s[i-1][length[i-1]-x]){ 24 flag=1; 25 break; 26 } 27 if(flag) 28 break; 29 ans[++cnt]=s[1][length[1]-x]; 30 } 31 if(!cnt) 32 cout<<"nai"; 33 else 34 for(int i=cnt;i;--i) 35 cout<<ans[i]; 36 return 0; 37 }