亲和串

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16169    Accepted Submission(s): 7099

Problem Description

人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。
亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。

Input

本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字符串s2,s1与s2的长度均小于100000。

Output

如果s2是s1的亲和串,则输出"yes",反之,输出"no"。每组测试的输出占一行。

Sample Input

AABCD CDAA ASD ASDF

Sample Output

yes no

问题链接:HDU2203 亲和串。

问题简述:参见上述链接。

问题分析

这是一个有关字符串处理的问题。

这里给出两个程序,使用了不同的技术。还可以使用KMP算法来解决本问题。

网友指出,如果s1的长度<s2的长度,原来的代码逻辑不够严密,2个程序都改写了一版。

程序说明:(略)

AC的C++语言程序如下:

/* HDU2203 亲和串 */#include <iostream>
#include <cstring>const int MAXN = 100000;char s1[MAXN+1], s2[MAXN], s3[2*MAXN+1];using namespace std;int main()
{char *p;while(cin >> s1) {cin >> s2;if(strlen(s1) < strlen(s2)) {cout << "no" << endl;} else {strcpy(s3, s1);strcat(s3, s1);p = strstr(s3, s2);if(p)cout << "yes" << endl;elsecout << "no" << endl;}}return 0;
}

AC的C++语言程序如下:

/* HDU2203 亲和串 */#include <iostream>
#include <string>using namespace std;int main()
{string s1, s2;int pos;while(cin >> s1) {cin >> s2;if(s1.size() < s2.size())cout << "no" << endl;else {s1 += s1;pos = s1.find(s2);if(pos >= 0)cout << "yes" << endl;elsecout << "no" << endl;}}return 0;
}

AC的C++语言程序(逻辑不够严密,废除)如下:

/* HDU2203 亲和串 */#include <iostream>
#include <cstring>const int MAXN = 100000;char s1[MAXN+1], s2[MAXN], s3[2*MAXN+1];using namespace std;int main()
{char *p;while(cin >> s1) {cin >> s2;strcpy(s3, s1);strcat(s3, s1);p = strstr(s3, s2);if(p)cout << "yes" << endl;elsecout << "no" << endl;}return 0;
}

AC的C++语言程序(逻辑不够严密,废除)如下:

/* HDU2203 亲和串 */#include <iostream>
#include <string>using namespace std;int main()
{string s1, s2;int pos;while(cin >> s1) {cin >> s2;s1 = s1 + s1;pos = s1.find(s2);if(pos >= 0)cout << "yes" << endl;elsecout << "no" << endl;}return 0;
}

HDU2203 亲和串【字符串】相关推荐

  1. 【HDU - 2203】 亲和串 (思维题,可选KMP)

    题干: Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了, ...

  2. python快速加引号_在python中如何快速地将一串字符串首尾加上双引号?

    python初学者.现在想做一个打包的小任务.目标地址为: D:\py_backup_test\iu d 然后将这个地址放在target_dir 里,并加上当前时间和后缀名: import os im ...

  3. kmp oj 亲和串

    看这里 今天看 kmp 所以就做了亲和串一直在想怎么循环那个s1串啊原来是在加上一个它本身就是连在一起的作用 #include<stdio.h> #include<string.h& ...

  4. Power Strings POJ - 2406(求一串字符串中有多少个循环节)

    题意: 有一串字符串,问求出有多少个循环节连续重复组成,即可以用KMP直接求出循环节有多少个字符组成.答案就是l/next[l](刚开始理解错题意,认为是找出最多的重复子串) 题目 Given two ...

  5. Java——集合(输入一串字符串,统计字符串中每个字符出现的次数)

    A:案例演示 需求:输入一串字符串,统计字符串中每个字符出现的次数** 分析: 1,定义一个需要被统计字符的字符串 2,将字符串转化为字符数组,才能拿到每一个字符 3,定义双列集合存储字符串中字符以及 ...

  6. 一串字符串转换为ascii_将ASCII字符串(char [])转换为C中的BYTE数组

    一串字符串转换为ascii Given an ASCII string (char[]) and we have to convert it into BYTE array (BYTE[]) in C ...

  7. java输入一串字符串反转_反转Java中的字符串

    java输入一串字符串反转 Reverse a String in java is a good coding related interview question. I have seen inte ...

  8. js 编写一个程序实现统计一串字符串中的英文小写字母个数!

    编写一个程序实现统计一串字符串中的英文小写字母个数!例 如:输入"axZvnNgOuyi",得到的值应该是 8: 注意:且有输入输出,直接输出不计分 <!DOCTYPE ht ...

  9. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

    导航:网站首页 > 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789... 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如 ...

最新文章

  1. 设备节点注册和操作方法连接
  2. 德国工业4.0眼里“工业互联网”与“智能制造”
  3. SecureCRT 中文乱码问题
  4. 集群IPtables转发与防火墙
  5. java url工具_UrlTool官方版|UrlTool (java Url转换工具)下载v1.1-乐游网软件下载
  6. DE26 Continuation: Repeated Real Eigenvalues
  7. ddrescue重建损坏磁盘
  8. 【图像配准】基于matlab GUI SIFT图像配准拼接【含Matlab源码 854期】
  9. 线性规划专题——Lingo的使用
  10. 前端和后端的英文_前端开发与架构师
  11. 基于egret的点光源光线效果的实现
  12. scratch打棒球游戏 电子学会图形化编程scratch等级考试四级真题和答案解析2019-12
  13. Django 基础(3)-django_filters模块
  14. INV TXN MANAGER PUB PROCESS TRANSACTIONS
  15. 小红书html布局自适应,Flutter实现马蜂窝小红书自适应高度轮播图
  16. c语言自己走时间的程序,c语言用哪些语句能实现时间暂停?比方说按某一个键使时间暂停,再按一次使时间继续。...
  17. 你知道哪些或者你们线上使用什么GC策略? 它有什么优势,适用于什么场景?
  18. PS如何快速使用对象选择工具抠图?
  19. 【JavaScript】this指向经典面试题(超详细)
  20. Linux | 常用指令

热门文章

  1. 知名网游Server端架构分析
  2. java 显示锁_Java 实现一个自己的显式锁Lock(有超时功能)
  3. 通过draggable实现布局_营销推广引流之百度霸屏内容详解 如何通过百度霸屏布局实现立体打法!...
  4. mysql二进制日志的开启和使用
  5. linux服务器数据库和监听自启动,linux64的神通数据库安装与启动
  6. php中的print r与echo,php中echo(),print(),print_r()的区别
  7. java查看堆内对象_如何查看一个对象占用堆内存的大小
  8. 数据库本地的sa有个叉号_多个客户端(50)同时使用sa账号操作服务器数据库(sqlserver)会有问题吗?...
  9. 概率论概念及机器学习中样本相似性度量之马氏距离
  10. 关于Access数据库安全