PAT 1077. Kuchiguse (20)(求最长公共后缀)(差一分)
来源:互联网 发布:墨迹天气的数据来源 编辑:程序博客网 时间:2024/05/19 04:05
官网
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
解题思路
- 1.注意:
- 2
aa aa
aa aa
的输出是aa aa
,不是aa
。
待修改代码(差一分)
#include<iostream>#include<string>#include<cstdio>using namespace std;string a[101];int len[101];int n;int main(){ cin >> n; cin.ignore(); for(int i=0;i<n;i++){ getline(cin,a[i]); len[i] = a[i].length(); } int k=0; bool flag = true; int i = 0; //求最长到哪了,倒着看 while(1){ char tem = a[0][len[0]-1-k]; for(i=1;i<n;i++){ if(k>len[i]-1){ flag = false; break; } if(a[i][len[i]-1-k]!=tem){ flag = false; break; } } if(flag == false){ break; } if (k<len[0]-1) { k++; } else { break; } } string tem_out; if(k==0){ if(i==n){ cout << a[0][len[0]-1]<<endl; }else{ cout << "nal" << endl; } }else { if (i==n) { tem_out = a[0].substr(len[0]-k-1,k+1); int l = 0; //去掉前面的空格 while(tem_out[l]==' ') l++; cout << tem_out.substr(l)<<endl; //cout << a[0].substr(len[0]-k-1,k+1)<<endl; } else { tem_out = a[0].substr(len[0]-k,k); int l = 0; while(tem_out[l]==' ') l++; cout << tem_out.substr(l)<<endl; //cout << a[0].substr(len[0]-k,k)<<endl; } }// cout << i << endl;// cout << k << endl; return 0;}
- PAT 1077. Kuchiguse (20)(求最长公共后缀)(差一分)
- PAT (Advanced level) 1077. Kuchiguse (20) 最长共同后缀
- PAT 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- pat 1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- 【PAT】1077. Kuchiguse (20)
- PAT 1077. Kuchiguse (20)
- PAT(甲级)1077. Kuchiguse (20)
- PAT (Advanced) 1077. Kuchiguse (20)
- PAT A 1077. Kuchiguse (20)
- PAT甲级.1077. Kuchiguse (20)
- 1077. Kuchiguse (20) PAT甲级
- PAT-A 1077. Kuchiguse (20)
- (iOS开发)图片等实现360°旋转
- MyBatis自定义数据映射TypeHandler
- Activity未setContentView,设置修改当前背景颜色
- 9月
- 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
- PAT 1077. Kuchiguse (20)(求最长公共后缀)(差一分)
- mysql的mvcc(多版本并发控制)
- SignalR初级探秘
- adams 曲柄滑块机构,间隙运动影响分析
- (iOS开发)允许右滑等操作
- 我对闭包的一些理解
- 腾讯云率先发布第二代云服务器,背后技术秘密是什么?
- Java80进销存管理系统-第一节项目分析和框架搭建
- 设置div的高度为屏幕高度