您的位置:首页 > 其它

1077. Kuchiguse (20)

2016-02-18 20:46 405 查看


1077. Kuchiguse (20)

时间限制

100 ms

内存限制

65536 kB

代码长度限制

16000 B

判题程序

Standard

作者

HOU, Qiming

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<iostream>
#include<vector>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<map>
using namespace std;
int main()
{
int n;
vector<string>arr;
string line;
scanf("%d%*c",&n);
for(int i=0;i<n;++i)
{
getline(cin,line);
arr.push_back(line);
}
int ans = 0;
for(int i=arr[0].size()-1; i>=0; --i)
{
bool flag = false;
for(int j=1; j<arr.size(); j++)
{
int len = arr[j].size();
if(arr[j][len-1-ans]!=arr[0][i])
{
flag = true;
break;
}
}
if(flag)
break;
else
ans++;
}
if(ans==0)
printf("nai\n");
else{
for(int i=arr[0].size()-ans;i<arr[0].size();++i){
printf("%c",arr[0][i]);
if(i==0)
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: