1077. Kuchiguse (20)【字符串处理】——PAT (Advanced Level) Practise
题目信息
1077. Kuchiguse (20)
时间限制100 ms
内存限制65536 kB
代码长度限制16000 B
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
解题思路
反转字符串后逐个字符比較
AC代码
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { int n; vector<string> v; string s, rs; cin >> n; getline(cin, s);// 去掉回车 while (n--){ getline(cin, s); reverse(s.begin(), s.end()); v.push_back(s); } int loc = -1; bool flag = true; while (flag && ++loc < v[0].size()){ for (int i = 0; i < v.size(); ++i){ if (v[i][loc] != v[0][loc]){ flag = false; break; } } if (flag){ rs += v[0][loc]; } } if (rs.empty()){ cout <<"nai" <<endl; }else{ reverse(rs.begin(), rs.end()); cout <<rs <<endl; } return 0; }
- 1077. Kuchiguse (20)【字符串处理】——PAT (Advanced Level) Practise
- 1050. String Subtraction (20)【字符串处理】——PAT (Advanced Level) Practise
- 1035. Password (20)【字符串处理】——PAT (Advanced Level) Practise
- 1100. Mars Numbers (20)【字符串处理】——PAT (Advanced Level) Practise
- 1031. Hello World for U (20)【字符串处理】——PAT (Advanced Level) Practise
- PAT (Advanced Level) 1084. Broken Keyboard (20) 坏键盘,字符串处理
- 1061. Dating (20)【字符串操作】——PAT (Advanced Level) Practise
- 1082. Read Number in Chinese (25)【字符串处理】——PAT (Advanced Level) Practise
- 1084. Broken Keyboard (20)【字符串操作】——PAT (Advanced Level) Practise
- 1084. Broken Keyboard (20)【字符串操作】——PAT (Advanced Level) Practise
- 1060. Are They Equal (25)【字符串处理】——PAT (Advanced Level) Practise
- 1073. Scientific Notation (20)【字符串操作】——PAT (Advanced Level) Practise
- 1023. Have Fun with Numbers (20)【字符串操作】——PAT (Advanced Level) Practise
- 1019. General Palindromic Number (20) @ PAT (Advanced Level) Practise
- 1011. World Cup Betting (20)——PAT (Advanced Level) Practise
- PAT (Advanced Level) Practise 1116 Come on! Let's C (20)
- PAT-PAT (Advanced Level) Practise 1005. Spell It Right (20) (简单模拟题)【一星级】
- PAT (Advanced Level) Practise 1088 Rational Arithmetic (20)
- PAT (Advanced Level) 1050. String Subtraction (20) 字符串去除,哈希
- PAT (Advanced Level) Practise 1041 Be Unique (20)