The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be considered as a reflection of the speaker's personality. Such a preference is called "Kuchiguse" and is often exaggerated artistically in Anime and Manga. For example, the artificial sentence ending particle "nyan~" is often used as a stereotype for characters with a cat-like personality:
-
Itai nyan~ (It hurts, nyan~)
Ninjin wa iyada nyan~ (I hate carrots, nyan~C++)
Now given a few lines spoken by the same character, can you find her Kuchiguse?
Input Specification:
Each input file contains one test case. For each case, the first line is an integer N (2≤N≤100). Following are N file lines of 0~256 (inclusive) characters in length, each representing a character's spoken line. The spoken lines are case sensitive.
Output Specification:
For each test case, print in one line the kuchiguse of the character, i.e., the longest common suffix of all N lines. If there is no such suffix, write nai
.
Sample Input 1:
3
Itai nyan~
Ninjin wa iyadanyan~
uhhh nyan~
Sample Output 1:
nyan~
Sample Input 2:
3
Itai!
Ninjinnwaiyada T_T
T_T
Sample Output 2:
nai
题目大意:求若干字符数相同的尾缀;
知识点:
1、reverse反转字符串;
2.substr(pos,num)复制从第pos开始num个
3.getline(cin,s);
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n, len1, len2, len;
string ans, temp;
scanf("%d\n", &n);
getline(cin, ans);
for(int i = 1; i < n; ++ i){
getline(cin, temp);
len1 = ans.length();
len2 = temp.length();
for(len = 0; len < min(len1, len2); ++ len)
if(ans[len1 - len - 1] != temp[len2 - len - 1])
break;
ans = ans.substr(len1 - len);
}
ans = (ans == "" ? "nai" : ans);
printf("%s", ans.c_str());
}