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<string>
#include<vector>
#include <algorithm>
using namespace std;
int main()
{
int n,num;
cin>>n;
cin.get();
vector<string> vi;
string s;
string a="";
num=n;
while(num--)
{
getline(cin,s);
vi.push_back(s);
}
for(int i=vi[0].size()-1,j=vi[1].size()-1;i>=0&&j>=0;i--,j--)//因为初始,最小也有2
{
if(vi[0][i]!=vi[1][j])//如果末尾2个不相等
{
break;
}
else
{
a+=vi[0][i];
}
}//这样就得到了末尾最长的可能性的语气词
reverse(a.begin(),a.end());//这里要注意得到的字符串是倒叙的,需要用到algorithm里面的反转字符串的函数
if(n==2&&a.size()==0)
{
cout<<"nai"<<endl;
return 0;
}
if(n==2&&a.size()>0)
{
cout<<a<<endl;
return 0;
}
//接下去就是大于2的情况了,全在a上面做文章
string cun=a;
for(int t=2;t<vi.size();t++)//剩下那么多的string,进行比较
{
a="";
for(int i=cun.size()-1,j=vi[t].size()-1;i>=0&&j>=0;i--,j--)//这里出错了,调试的发现问题,在于第二个判断条件,应该是都成立的情况下
{
if(cun[i]!=vi[t][j])
{
break;
}
else
{
a+=cun[i];
}
}
reverse(a.begin(),a.end());
cun=a;
}//最后得到的cun,就是最后要的语气词

if(cun.size()==0)
{
cout<<"nai"<<endl;
return 0;
}
else
{
cout<<cun<<endl;
}

return 0;
}

转眼之间,我转行已经7个月了,自学了4个月,试用了3个月,总算顺利的转正成功了。算是正式迈向了程序员的道路上。如果恰好你也是转行看到我这段话,我希望你不要担心,低下头往前走,就行了。心里的焦虑,不安,都会随着时间,流去。努力下,时间会给你想要的答案。

转行而已,不简单,也不难。因为是在国企,下班有足够的学习时间,这段时间刷完了pat,再去刷TCP/IP,数据结构和算法。再补一补C++的模板类范例编程之类的吧。感觉工作中,这种用的都不是太多。

1077. Kuchiguse (20)的更多相关文章

  1. 1077. Kuchiguse (20)【字符串处理】——PAT (Advanced Level) Practise

    题目信息 1077. Kuchiguse (20) 时间限制100 ms 内存限制65536 kB 代码长度限制16000 B The Japanese language is notorious f ...

  2. PAT 甲级 1077 Kuchiguse (20 分)(简单,找最大相同后缀)

    1077 Kuchiguse (20 分)   The Japanese language is notorious for its sentence ending particles. Person ...

  3. PAT Advanced 1077 Kuchiguse (20 分)

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  4. PAT甲级——1077.Kuchiguse(20分)

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  5. PAT (Advanced Level) 1077. Kuchiguse (20)

    最长公共后缀.暴力. #include<cstdio> #include<cstring> #include<cmath> #include<vector&g ...

  6. PAT甲题题解-1077. Kuchiguse (20)-找相同后缀

    #include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...

  7. 【PAT甲级】1077 Kuchiguse (20 分)(cin.ignore()吃掉输入n以后的回车接着用getine(cin,s[i])输入N行字符串)

    题意: 输入一个正整数N(<=100),接着输入N行字符串.输出N行字符串的最长公共后缀,否则输出nai. AAAAAccepted code: #include<bits/stdc++. ...

  8. PAT 1077 Kuchiguse

    1077 Kuchiguse (20 分)   The Japanese language is notorious for its sentence ending particles. Person ...

  9. 1077 Kuchiguse (20 分)

    1077 Kuchiguse (20 分) The Japanese language is notorious for its sentence ending particles. Personal ...

随机推荐

  1. sudo:无法解析主机 解决方案

    你如果电脑中没有vim,用gedit也可以. 打开文件以后,将其中的 127.0.1.1  xxxxx xxx 替换成你电脑的自己的名字即可.

  2. Ubuntu 卸载cario-dock

    偶然间听说别人用dock 可以把ubuntu美化,结果就装了个cairo-dock .结果是苹果mac的风格.不是很喜欢.于是就卸载,卸载过程中.发行卸载不掉. 尝试了很多方法. sudo apt-g ...

  3. dojo之FilteringSelect

    1.保证可视框宽度与下拉框宽度一致 forceWidth:'true' 2.控制下拉框的高度 maxHeight:'120'

  4. Java之List排序出错

    Java之List排序出错 Bound mismatch: The generic method sort(List<T>) of type Collections is not appl ...

  5. Struts2实现文件上传(四)

    Struts2实现文件上传 配置文件struts.xml <!-- /* * $Id: struts.xml 1364077 2012-07-21 12:57:02Z lukaszlenart ...

  6. 挖一挖不常用到而又很实用的重载-Split

    Split这个基本上所有的程序开发人员都用到,一般使用单字符和长字符串拆分字符串的较多,其实还有一个重载非常好用,那就是多种组合字符来进行拆分. 例如: "aaaaaaaaaa{@}bbbb ...

  7. javaWeb之自动发送邮件生日祝福(ServletContextListener监听)

    在看完本随笔仍然不理解的可以看  javaWeb邮箱发送  :里面有具体的邮箱服务器配置 企业在员工生日当天发送邮箱生日祝福: 一般是用监听器完成:  而合适的监听是ServletContextLis ...

  8. CentOS源码包安装apache、nginx服务

    1.通过官网下载apache.nginx源码包 2.进入apache源码包所在目录,解压tar -xf httpd-2.4.12.tar.gz 3.cd httpd-2.4.12 4.阅读README ...

  9. python与机器学实践-何宇健 源代码及过程中遇到的问题

    # -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file.""&q ...

  10. OSS Android SDK

    Android SDK开发包(2014-12-20)  版本号0.2.2   开发包下载地址: http://oss.aliyuncs.com/aliyun_portal_storage/help/o ...