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~)
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
找最大相同后缀,遍历就好#include<cstdio> #include<cmath> #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<vector> using namespace std; int main(){ int n; cin>>n; getchar(); char s1[1000]; gets(s1); int sum=strlen(s1); for(int i=1;i<n;i++){ char s2[1000]; gets(s2); int cnt=0; for(int j=strlen(s1)-1,k=strlen(s2)-1;j>=0&&k>=0;j--,k--){ if(s1[j]==s2[k]){ cnt++; } else break; } //strcpy() if(cnt<sum) sum=cnt; } if(sum==0){ cout<<"nai"; } else{ for(int i=strlen(s1)-sum;i<strlen(s1);i++) cout<<s1[i]; } return 0; }