文档章节

PAT 甲级 1077 Kuchiguse

o
 osc_4nmshwhm
发布于 2018/08/06 22:32
字数 342
阅读 3
收藏 0

精选30+云产品,助力企业轻松上云!>>>

https://pintia.cn/problem-sets/994805342720868352/problems/994805390896644096

 

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 <bits/stdc++.h>
using namespace std;

char s[111][300], out[1111];
int len[111];

int main() {
    int N;
    scanf("%d", &N);
    getchar();
    for(int i = 1; i <= N; i ++) {
        cin.getline(s[i], 300);
    }

    int minn = 333;
    for(int i = 1; i <= N; i ++) {
        len[i] = strlen(s[i]);

        for(int j = 0; j <= len[i] / 2 - 1; j ++)
            swap(s[i][len[i] - j - 1], s[i][j]);

        if(len[i] < minn) {
            minn = len[i];
            continue;
        }
    }

    int cnt = -1;
    for(int j = 0; j < minn; j ++) {
        int flag = 1;
        for(int i = 1; i <= N; i ++) {
            if(s[i][j] != s[1][j]) flag = 0;
        }
        if(flag == 0) break;
        cnt = j;
    }

    if(cnt != -1) {
        for(int i = cnt;i >= 0; i --) {
            printf("%c", s[1][i]);
        }
        printf("\n");
    }
    else
        printf("nai\n");

    return 0;
}

  

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Spring Cloud开发人员如何解决服务冲突和实例乱窜?(IP实现方案)

点击上方“陶陶技术笔记”关注我 回复“资料”获取作者整理的大量学习资料! 一、背景 在我上一篇文章《Spring Cloud开发人员如何解决服务冲突和实例乱窜?》中提到使用服务的元数据来实现隔...

zlt2000
2019/09/06
0
0
Linux下diff命令用法详解

大家好,我是良许。 我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点。在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也有很多很强...

osc_th8jvcw7
50分钟前
7
0
万变不离其宗之UART要点总结

[导读] 单片机开发串口是应用最为广泛的通信接口,也是最为简单的通信接口之一,但是其中的一些要点你是否明了呢?来看看本人对串口的一些总结,当然这个总结并不能面面俱到,只是将个人认为...

osc_kyehmyzk
52分钟前
7
0
kafka的认识、安装与配置

认识Kafka 花费越少的精力在数据移动上,就能越专注于核心业务 --- 《Kafka:The Definitive Guide》 认识 Kafka 之前,先了解一下发布与订阅消息系统:消息的发送者不会直接把消息发送给接收...

osc_wy8nhxhn
53分钟前
0
0
使用pandas进行数据处理——DataFrame篇

  今天是pandas数据处理专题的第二篇文章,我们一起来聊聊pandas当中最重要的数据结构——DataFrame。   上一篇文章当中我们介绍了Series的用法,也提到了Series相当于一个一维的数组,只...

开源仔
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部