1077 Kuchiguse (20point(s))

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:

3
Itai nyan~
Ninjin wa iyadanyan~
uhhh nyan~

Sample Output:

nyan~

Sample Input:

3
Itai!
Ninjinnwaiyada T_T
T_T

Sample Output:

nai

题目大意:

输入 N 行字符串,输出所有字符串的公共后缀,若没有则输出 nai

设计思路:
  1. 用指针数组记录每个字符串的尾地址,
  2. 用第一个字符串依次和其他字符串进行比较,尾字符相同,指针前移,
    1. 比较次数以最短字符串为准,防止越界
    2. 若公共后缀即为最短字符串,此时指针会在最短字符串的前 1 位置,所以指针要加 1 后输出,例如:
    3. ced 和 abcde 比较完成后,指针在 c 前面
  3. 输出最后指针所在的字符串即为公共后缀
编译器:C (gcc)
#include <stdio.h>
#include <string.h>int main(void)
{int n;char a[100][258], *b[100], *result;int i, j, len, min = 10000;scanf("%d", &n);getchar();for (i = 0; i < n; i++) {gets(a[i]);len = strlen(a[i]);b[i] = a[i] + len - 1;if (len < min)min = len;}int flag = 1;for (i = 0; i < min; i++) {for (j = 1; j < n; j++) {if (*b[0] == *b[j]) {b[j]--;} else {flag = 0;break;}}if (flag) {b[0]--;} else {b[0]++;break;}}if (flag)puts(b[0] + 1);else if (*(b[0]) == '\0')puts("nai");elseputs(b[0]);return 0;
}

1077 Kuchiguse (20point(s)) - C语言 PAT 甲级相关推荐

  1. 1042 Shuffling Machine (20 point(s)) - C语言 PAT 甲级

    1042 Shuffling Machine (20 point(s)) Shuffling is a procedure used to randomize a deck of playing ca ...

  2. PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 读入n个字符串s[n],以s[0]为基础找公共后缀.枚举后缀的长度,内层循环遍历其他字符串,判断是否后缀相等. 使用子串的函数sub ...

  3. PAT甲级1016 Phone Bills :[C++题解]字符串处理(复杂题)(C语言格式化读入、输出很便利!!!)

    文章目录 题目分析 题目链接 题目分析 原题: 长途电话公司按以下规则向客户收费: 拨打长途电话每分钟要花费一定的费用,具体收费取决于拨打电话的时间. 客户开始拨打长途电话的时间将被记录,客户挂断电话 ...

  4. PAT甲级1061 Dating:[C++题解]字符串处理(C语言格式控制牛逼!)

    文章目录 题目分析 题目链接 题目分析 题意重述:四个字符串,前两个字符串是一组:求 日期和小时: 后两个字符串是一组:求分钟. 对于前两个字符串: 需要统计两次,位置相同并且是相同的字符. 第一个符 ...

  5. PAT 1077. Kuchiguse

    这个题目写不出,完全是C++语法不熟, (1)读入一行字符串:getline(cin, s); (2)字符串的反转:reverse(s.begin(), s.end()); (3)字符串取出某个字符: ...

  6. 【PAT甲级】字符串处理及进制转换专题

    目录 字符串处理 PAT甲级 1001 A+B Format (20 分) PAT甲级1005 Spell It Right (20 分) PAT甲级1035 Password (20 分) PAT甲 ...

  7. PAT甲级1114 Family Property:[C++题解]结构体、并查集、测试点3、4、5有问题的进来!!

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 先建边.读入每家的信息,在本人和父母(如果有的话),本人与子女(如果有的话)之间分别建边.边用结构体来存,边记录两个端点. 遍历每条 ...

  8. PAT甲级1063 Set Similarity:[C++题解]哈希表、去重

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:集合相似度是两个集合A.B都有的数字个数,除以两者不同的数字个数,有以下公式:集合相似度 =NcNt=A∩BA+B−Nc=\frac{ ...

  9. PAT甲级1104 Sum of Number Segments:[C++题解]数段之和,测试点2爆double,请用long double!!!

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题题意比较简单,但是不能仅仅根据定义来算. 本题思路:统计每个数在多少个区间出现过,也就是这个数需要加多少次.共有n个数,其中第i个 ...

最新文章

  1. IOS,十六进制颜色和RGB颜色的宏定义
  2. java查看对象地址_如何获取到JAVA对象所在的内存地址
  3. boost::hof::flip用法的测试程序
  4. junit 测试似有方法_Spring整合Junit的使用
  5. apache shiro_Apache Shiro第2部分–领域,数据库和PGP证书
  6. Mac MySQLdb模块安装,可算解决了
  7. 可持续字典树 Perfect Security
  8. 一个类可以实现多个接口吗_java中接口的概念
  9. 【Java数据结构与算法】第十九章 贪心算法、Prim算法和Kruskal算法
  10. windows下,linux下elasticsearch安装插件head插件的步骤
  11. think php上传图片,基于ThinkPHP5.0实现图片上传插件
  12. 2022年中国数字孪生城市市场分析:孪生城市产业经济全域协作
  13. 将Windows10中的C盘desktop移到D盘
  14. SpringBoot之Hypermedia-Driven RESTful Web Service
  15. 桃李春风一杯酒,江湖夜雨十年灯。—第三十五天
  16. 情侣博客,我也想做一个。
  17. 创建新的domian域
  18. python画三维坐标系_python 三维坐标图
  19. 2021常见user_agent大全 用户浏览器ua(互联网项目自己整理)
  20. sql 有则update 无则 insert

热门文章

  1. ​儿童手表APP开发让用户更好地体验到智能设备的便捷性​
  2. u盘魔术师给服务器装系统,U盘魔术师怎么装系统 U盘魔术师USM制作PE启动盘方法...
  3. 掌纹与掌静脉融合matlab代码,手形、掌纹和掌静脉多特征融合识别
  4. ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)
  5. 数据可视化之绘制世界人口地图
  6. 汽车电子之NXP车规级芯片
  7. 漫画解读:车规芯片为何比普通芯片贵?跟普通芯片有什么差异?
  8. 关于STC单片机的远程升级
  9. 百度音乐爬取文件练习
  10. Maestro 薛定谔软件简单分子对接案例