AcWing 1563. Kuchiguse
原题链接
简单
作者:
mkuiwu
,
2020-12-31 11:10:35
,
所有人可见
,
阅读 407
#include<iostream>
#include<string>
const int N = 110;
using namespace std;
string strs[N];
int main(){
int n;
cin >> n;
getchar();// 注意需要字符消除空格
for(int i= 0; i < n; i++) getline(cin, strs[i]);
int k = 0;
for(int i = strs[0].size()-1; i>=0; i--){
bool isOk = false; // 用于记录每个i是否合法
for(int j = 1; j < n; j++){ // 对于每个字符串, 判断其末尾是否相等
int end = strs[j].size()-1-k;// 找到每个字符串的末尾
if(strs[0][i] != strs[j][end]) {
isOk = false;
break;
}
isOk = true;
}
// 如果合法
if(isOk) k++;
else break; // 直接跳出所有循环
}
if(!k)cout << "nai";
// 从后面开始输出k位
int i = strs[0].size()-k;
while (k--)
{
cout << strs[0][i++];
}
cout << endl;
return 0;
}