题目描述
现代诗如蚯蚓
断成好几截都不会死
字符串断成好几截
有可能完全一样
请编写程序
输入字符串
输出该字符串最多能断成多少截完全一样的子串
输入
一行,一个字符串
输出
一行,一个正整数表示该字符串最多能断成的截数
样例输入
样例输出
提示
样例说明
最多能断成四个“abc”,也就是abc重复四遍便是原串
同时也能断成两个“abcabc”
最坏情况是断成一个原串“abcabcabcabc”
数据规模和约定
字符串长度$<= 1000$
题解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include<iostream> using namespace std; int main() { string s; cin >> s; int len = int(s.length()); for (int i = 1; i <= len / 2; i++) { if (len % i == 1) { continue; } string tem1, tem2; int flag = 0; tem1 = s.substr(0, i); for (int j = i; j < len; j += i) { tem2 = s.substr(j, i); if (tem1 != tem2) { flag = 1; break; } } if (flag == 0) { cout << len / i; break; } } return 0; }
|