当前位置:首页 > 题解目录 > 正文内容

【题解】Power Strings

亿万年的星光6个月前 (04-11)题解目录329

【题目描述】

给定若干个长度 ≤106 的字符串,询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:ababab 则最多有 3 个 ab 连接而成。

【输入描述】

输入若干行,每行有一个字符串,字符串仅含英语字母。特别的,字符串可能为 . 即一个半角句号,此时输入结束。

【输出描述】

若干行,每个数一行。

【样例输入】

abcd
aaaa
ababab
.

【样例输出】

1
4
3


【参考答案】

#include <bits/stdc++.h>
using namespace std;
bool isRepeat(string str,int len) {
	bool flag = true;
	for(int i = len; i+len<=str.size(); i+=len) {
		for(int j = 0, t =i; j<len; j++,t++) {
			if(str[j]!=str[t]) {
				flag = false;
				break;
			}
		}
		if(!flag) false;
	}
	return flag;
}
int getM(string str) {
	for(int len = 1; len<str.size(); len++) {
		if(str.size()%len==0) {
			if(isRepeat(str,len)) {
				return str.size()/len;
			}
		}
	}
	return 1;
}
int main() {
	string word;
	while(cin>>word) {
		if(word==".")break;
		int res = getM(word);
		cout<<res<<endl;
	}
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解】建设病房

1.建设病房(build.cpp)【题目描述】2020年1月23日下午,武汉市建设局紧急召集中建三局等单位举行专题会议,要求参照2003年抗击非典期间北京小汤山医院模式,在武汉职工疗养院建设火神山医院...

【题解】报数游戏

【题目描述】路飞在和他朋友们一块玩一个游戏。由于路飞的机智,这个游戏由路飞担任裁判。首先,路飞会给他们一个人一个编号,并且每个人的编号都不相同。接下来的每一个回合,会给一个数,编号不超过它的最大编号的...

【题解】加密(2019青岛市程序设计竞赛)

【问题描述】文件加密最简单的方法是把文件的原文中的每个字母用另一个字母来代替。假设原文中只包括26个英文字母(有大写和小写),没有其他符号,且长度不超过100,加密规则如下:原文abcdefghijk...

奶牛的耳语

【题目描述】在你的养牛场,所有的奶牛都养在一排呈直线的牛栏中。一共有 n头奶牛,其中第 ii头牛在直线上所处的位置可以用一个整数坐标 pi(0<pi<10^8...

线段

题目描述在一个数轴上有n条线段,现选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少?输入格式第一行为一个正整数n,下面n行每行2个数字ai,bi,描述每条线段。输出格式输出文件仅包括1...

【题解】区间合并

【题目描述】给定n个闭区间[ai,bi],其中i=1,2,...n。任意两个相邻或相交或相邻的闭区间可以合并为一个闭区间。例如,[1,2]和[2,3]可以合并为[1,3]。[1,3]和[2,4]可以合...