zoukankan      html  css  js  c++  java
  • PAT 1077 Kuchiguse

    1077 Kuchiguse (20 分)
     

    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). 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<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    int main(){
    
        int t;scanf("%d",&t);
        vector<string> vec;
        int minlenn = INT_MAX;
        string temp;getline(cin,temp);
        while(t--){
            string s;getline(cin,s);
            string temp="";
            for(int i=0;i < s.size();i++){
                temp = s[i]+temp;
            }
            vec.push_back(temp);
            int len = s.size();
            minlenn = min(minlenn,len);  //直接把s.size()放进去不对???
        }
    //    cout << vec.size();
    
    
        string res = "";
        for(int i=0;i < minlenn;i++){
            char sx = vec[0][i];
            bool flag = 1;
            for(int j=1;j < vec.size();j++){
                if(vec[j][i] != sx){
                    flag = 0;
                    break;
                }
            }
            if(flag){
                res = sx+res;
            }
            else break;
        }
        if(res == "")cout << "nai";
        else cout << res;
    
    
    
    
        return 0;
    }

    ——遇到情况多样的题目,可以大胆的猜测,只要先过样例就行。

    在getline前如果有cin 会读取结尾的

  • 相关阅读:
    11月7日
    11月6日
    11月5日
    11月4日
    html5
    intern
    pjtool用到的数据库----oracle范畴
    运用的jdk版本如何查看
    JAVA 一句话技巧
    [ios 开发笔记]:一句话笔记
  • 原文地址:https://www.cnblogs.com/cunyusup/p/10777053.html
Copyright © 2011-2022 走看看