1077 Kuchiguse
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~
#include<cstdio>
#include<cstring>
int main()
{
int N;
char sentence[100][260]={0};
int len[100];
int min = 256;
char re[256]={0};
scanf_s("%d\n", &N);
for (int i = 0; i < N; i++)
{
gets_s(sentence[i]);
len[i] = strlen(sentence[i]);
if (len[i] < min)
{
min = len[i];
}
for (int j = 0; j < len[i]/2; j++)
{
char temp = sentence[i][j];
sentence[i][j] = sentence[i][len[i] - 1 - j];
sentence[i][len[i] - 1 - j] = temp;
}
}
for (int i = 0; i < min; i++)
{
int j;
for (j = 0; j < N-1; j++)
{
if (sentence[j][i] != sentence[j + 1][i])
{
break;
}
}
if (j == N - 1)
{
re[i] = sentence[0][i];
}
else
break;
}
if (strlen(re) == 0)
{
printf("nai");
}
for (int i = strlen(re) - 1; i >= 0; i--)
{
printf("%c", re[i]);
}
printf("\n");
}
测试点3应该是输入了几个完全相同的长度为256的字符串,如发生错误可检查一下一些常量。如字符数组的大小,最小长度的初始值。