蓝桥杯 ADV-150算法提高 周期字串
问题描述
右右喜欢听故事,但是右右的妈妈总是讲一些“从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢?从前有座山……”这样循环的故事来搪塞右右。
我们定义,如果一个字符串是以一个或者一个以上的长度为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算法提高 周期字串相关推荐
- [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码
E 算法提高 我们的征途是星辰大海 时间限制:1.0s 内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表 ...
- 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(251-280)
文章目录 ADV-251 Petri Net Simulation cpp: java: ADV-252 Navigation cpp: ADV-256 The Sky is the Limit cp ...
- python【蓝桥杯vip练习题库】ALGO-87字串统计(暴力)
我得做了两个小时.....我测试了n遍,这么简单的题,我个人对数组太不敏感了,特别是数组边界运算,这个i那个j的不知道大家怎么样....越界是常见操作.还有就是一定要好好读题,一定 比如说特殊的边界, ...
- 【蓝桥杯练习】算法提高 贪吃的大嘴
问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能 ...
- python【蓝桥杯vip练习题库】ADV-150 周期字串
试题 算法提高 周期字串 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些"从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲 ...
- 【预览】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛
[预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 完整版链接 文章目录 [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分算法求分界值 2 双指针算法 2.1 求最长的不包 ...
- 蓝桥杯:试题 算法训练 Remember the A La Mode
蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...
- 【完整版】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛
蓝桥杯竞赛python算法笔记 代码模板|吐血总结 文章目录 蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分 1.1 二分求最大满足(check红色条件) 1.2 二分求最小满足(che ...
- 蓝桥杯_算法训练_字串统计
其实题目已经给的很清楚了,枚举所有的情况,统计出现次数,找到符合条件的结果. 那么我们就根据这个提示完成即可: 第一步:枚举所有可能的字串: 1 #include<iostream> 2 ...
最新文章
- 538. Convert BST to Greater Tree
- windows下安装Python virtualenvwrapper-win
- css3之border-image
- redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
- Linux环境下增加swap交换分区
- vim学习日志(5):vim下wimrc的配置,解决中文乱码问题
- TIOBE 2月编程语言排行榜新鲜出炉!C# 获3.08%增长率!
- MySQL中存在索引但不能索引的经典场景(笔记)
- CMU Deep Learning 2018 by Bhiksha Raj 学习记录(8)
- LaTeX中宋体中文无法加粗的情况
- php去掉 部分字符,输出,php如何去除某个字符
- 服务器至强系列cpu排行,至强系列cpu天梯图2020 英特尔至强cpu天梯图排名
- 企业OKR终极目标:让员工成功
- 小米摄像头有onvif协议_小米红米5Plus、小米红米Note7、vivoY3对比
- Ajax 入门Demo
- CentOS 7中yum安装java
- 《Java编程思想》读书笔记
- php 复制文件夹并压缩到最小_php压缩多个文件打包成zip并下载到本地
- vt100 c语言控制,【转】C语言中控制printf的打印颜色实例及vt100的控制符文档
- manjaro go的安装