问题描述
  右右喜欢听故事,但是右右的妈妈总是讲一些“从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山……”这样循环的故事来搪塞右右。
  我们定义,如果一个字符串是以一个或者一个以上的长度为k的重复字符串所连接成的,那么这个字符串就叫做周期为k的串。
  例如:
  字符串’abcabcabcabc’周期为3,因为它是由4个循环’abc’组成的。它同样是以6为周期(两个重复的’abcabc’)和以12为周期(一个循环’abcabcabcabc’)。
  右右现在想给他的朋友大灰狼转述妈妈讲的故事,请帮他写一个程序,可以测定一个字符串的最小周期。
输入格式
  一个最大长度为100的无空格的字符串。
输出格式
  一个整数,表示输入的字符串的最小周期。
样例输入
HaHaHa
样例输出
2
样例输入
Return0
样例输出
7
分析:从长度为1一直到长度为len/2判断是否满足周期~不满足的话就说明周期是字符串本身的长度~~

#include <iostream>
#include <string>
using namespace std;
int main() {string s;int len = s.length();for(int i = 1; i <= len / 2; i++) {int flag = 0;if(len % i != 0)continue;string t1 = s.substr(0, i);string t2;for(int j = i; j < len; j = j + i) {t2 = s.substr(j, i);if(t1 != t2) {flag = 1;break;}}if(flag == 0) {cout << i;return 0;}}cout << len;return 0;
}

蓝桥杯 ADV-150算法提高 周期字串相关推荐

  1. [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码

    E 算法提高 我们的征途是星辰大海 时间限制:1.0s   内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表 ...

  2. 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(251-280)

    文章目录 ADV-251 Petri Net Simulation cpp: java: ADV-252 Navigation cpp: ADV-256 The Sky is the Limit cp ...

  3. python【蓝桥杯vip练习题库】ALGO-87字串统计(暴力)

    我得做了两个小时.....我测试了n遍,这么简单的题,我个人对数组太不敏感了,特别是数组边界运算,这个i那个j的不知道大家怎么样....越界是常见操作.还有就是一定要好好读题,一定 比如说特殊的边界, ...

  4. 【蓝桥杯练习】算法提高 贪吃的大嘴

    问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能 ...

  5. python【蓝桥杯vip练习题库】ADV-150 周期字串

    试题 算法提高 周期字串 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲 ...

  6. 【预览】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 完整版链接 文章目录 [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分算法求分界值 2 双指针算法 2.1 求最长的不包 ...

  7. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  8. 【完整版】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    蓝桥杯竞赛python算法笔记 代码模板|吐血总结 文章目录 蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分 1.1 二分求最大满足(check红色条件) 1.2 二分求最小满足(che ...

  9. 蓝桥杯_算法训练_字串统计

    其实题目已经给的很清楚了,枚举所有的情况,统计出现次数,找到符合条件的结果. 那么我们就根据这个提示完成即可: 第一步:枚举所有可能的字串: 1 #include<iostream> 2 ...

最新文章

  1. 538. Convert BST to Greater Tree
  2. windows下安装Python virtualenvwrapper-win
  3. css3之border-image
  4. redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
  5. Linux环境下增加swap交换分区
  6. vim学习日志(5):vim下wimrc的配置,解决中文乱码问题
  7. TIOBE 2月编程语言排行榜新鲜出炉!C# 获3.08%增长率!
  8. MySQL中存在索引但不能索引的经典场景(笔记)
  9. CMU Deep Learning 2018 by Bhiksha Raj 学习记录(8)
  10. LaTeX中宋体中文无法加粗的情况
  11. php去掉 部分字符,输出,php如何去除某个字符
  12. 服务器至强系列cpu排行,至强系列cpu天梯图2020 英特尔至强cpu天梯图排名
  13. 企业OKR终极目标:让员工成功
  14. 小米摄像头有onvif协议_小米红米5Plus、小米红米Note7、vivoY3对比
  15. Ajax 入门Demo
  16. CentOS 7中yum安装java
  17. 《Java编程思想》读书笔记
  18. php 复制文件夹并压缩到最小_php压缩多个文件打包成zip并下载到本地
  19. vt100 c语言控制,【转】C语言中控制printf的打印颜色实例及vt100的控制符文档
  20. manjaro go的安装

热门文章

  1. Android FrameWork——PackageManager框架
  2. RAID6结构原理详解
  3. ZeroMQ研究与应用分析
  4. 依赖混淆 exploit 已被滥用于攻击亚马逊等多家大厂
  5. 0day影响 Chrome和 Safari,谷歌不修复
  6. 开源审计的最佳时机是什么时候?
  7. 寒假训练营第四次作业
  8. Oracle_linux_lesson_p2
  9. 最简单的 RabbitMQ 监控方法 - 每天5分钟玩转 OpenStack(158)
  10. 《C语言及程序设计》实践参考——转着圈加密