问题链接:POJ NOI0107-19 字符串移位包含问题。

字符串移位包含问题

总时间限制:
1000ms
内存限制:
65536kB
描述

对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。

给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。

输入
一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。
输出
如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,否则输出false。
样例输入
AABCD CDAA
样例输出
true

问题链接:Bailian3711 字符串移位包含问题

问题分析:这是一个字符串匹配问题。如果按照题意进行循环移位,应该会把事情搞砸了,需要移动多少数据啊!

模除是个好主意,它就是循环啊!

程序说明:(略)

题记:字符串处理是经常出现的问题!

 

AC的C语言程序如下:

/* Bailian3711 字符串移位包含问题 */#include <stdio.h>
#include <string.h>#define N 30
char s[N + 1], t[N + 1];int check(char s[], int lens, char t[], int lent)
{int i, j;for(i = 0; i < lens; i++) {for(j = 0; j < lent; j++) {if(s[(i + j) % lens] != t[j])break;}if(j == lent)return 1;}return 0;
}int main(void)
{int lens, lent, ans;scanf("%s%s", s, t);/* 计算字符串长度,调用函数check()时,长字符串作为第1个参数 */lens = strlen(s);lent = strlen(t);if(lens > lent)ans = check(s, lens, t, lent);elseans = check(t, lent, s, lens);printf("%s\n", ans ? "true" : "false");return 0;
}

Bailian3711 字符串移位包含问题【字符串循环匹配】(POJ NOI0107-19)相关推荐

  1. 信息学奥赛一本通 2050:【例5.20】字串包含 | OpenJudge NOI 1.17 19:字符串移位包含问题

    [题目链接] ybt 2050:[例5.20]字串包含 OpenJudge NOI 1.17 19:字符串移位包含问题 [题目考点] 1. 字符串 2. 判断一个字符串是不是另一个字符串的子串(字符串 ...

  2. 通过js判断字符串是否包含某个字符串

    前言:有时候,我们在js中需要判断一个字符串中,是不是包含某个字符.可以采用以下方法进行判断. String对象的方法 方法一:indexOf() (推荐) var str = "123&q ...

  3. js 判断字符串是否包含某字符串

    2019独角兽企业重金招聘Python工程师标准>>> js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf var Cts = "bblText ...

  4. C++horspool算法查找字符串是否包含子字符串(附完整源码)

    C++horspool算法查找字符串是否包含子字符串 C++Shorspool算法查找字符串是否包含子字符串完整源码(定义,实现,main函数测试) C++Shorspool算法查找字符串是否包含子字 ...

  5. EL表达式处理字符串 是否 包含 某字符串 截取 拆分...............

    EL表达式处理字符串 是否 包含 某字符串 截取 拆分............... JSP页面页头添加 <%@ taglib uri="/WEB-INF/taglib/c.tld&q ...

  6. 【bat】判断字符串是否包含某字符串;bat字符串截取;vbs 如何加入参数;Windows如何后台运行bat文件(没有命令提示符框);.bat文件设置自动关机以及弹框确认

    [bat]判断字符串是否包含某字符串: @echo off set a=55544333 set c=6666dfsfds set b=44 echo %a%| findstr %b% >nul ...

  7. c++判断字符串是否包含指定字符串/判断字符串是否相等/保留小数点后几位

    判断字符串是否包含指定字符串 //判断第一个参数 是否 包含 第二个参数 1:包含 0:不包含 bool is_contain(std::string input_str, std::string i ...

  8. 【JS用法】js判断字符串是否包含某个字符串

    js判断字符串是否包含某个字符串 方法一:includes方法 //str.includes("")返回一个布尔值,值为true时表示包含var str = "hello ...

  9. 编程之美3.1 字符串移位包含问题

          这道题目的意思是给定一个字符串,作为源字符串,之后给出其他的字符串,确定源字符串是否能够经过旋转而得到给定的字符串,即移位包含问题.       假如,给定一个字符串 abcdefg,接着 ...

最新文章

  1. IIS启动配置的一些命令
  2. day13 Java学习(常见对象正则表达式)
  3. idea 保存设置 新建项目_配置、创建IntelliJ IDEA Spring MVC 项目
  4. ios与android指纹识别,iOS开发swift -- 指纹识别
  5. 第三周 分队列 mooc 翁恺 c语言
  6. php 126 发邮件,解析php中用PHPMailer来发送邮件的示例(126.com的例子)
  7. Win10系列:VC++绘制几何图形2
  8. UA OPTI512R 傅立叶光学导论13 傅立叶变换及其性质
  9. win7网上邻居_win7系统关闭电脑端口的操作方法
  10. module ‘cv2‘ has no attribute ‘face‘已安装仍报错解决
  11. 计算机考研常考:广义表的定义以及数据结构,你都会了吗?
  12. 关于阿里云的直播API开发
  13. Vulkan简介(1)
  14. 【CNNVD-201303-018】D-Link DIR-645 Routers 认证绕过漏洞复现
  15. html中对复选框验证,验证HTML中的复选框
  16. 宽带连接显示服务器问题怎么办,宽带连接时错误678问题怎么解决【解决方法】...
  17. 这篇讲MySQL海量数据分库分表的,实在太过瘾了!
  18. 千米与英里转化的c语言程序,C ++程序将公里/小时转换为英里/小时,反之亦然...
  19. Dao 繼承 HibernateDaoSupport後,使用註解注入sessionFactory
  20. teradata笔记-strtok_split_to_table

热门文章

  1. SpringCloud分布式开发五大组件详解
  2. Discuz论坛分表以及memcache缓存优化
  3. as3与php交互实现总结
  4. eclipse 达梦 连接_JDBC连接达梦7数据库
  5. 计算机主机系统总线,全国2009年10月高等教育自学考试计算机应用基础试题及答案...
  6. 剑指offer面试题48. 最长不含重复字符的子字符串(滑动窗口)
  7. redis源码剖析(2):基础数据结构ADLIST
  8. Linux环境SOCKET编程3:压力测试
  9. DELPHI中操作ACCESS数据库
  10. Nginx 404 500