欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

nyoj1121周期串

发布时间:2025/3/16 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nyoj1121周期串 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目链接:http://115.159.40.116/problem_show.php?pid=5661
http://acm.nyist.net/JudgeOnline/problem.php?pid=1121

题目描述

一个字符串可以由长度为k的字符串重复多次得到,我们说该串以k为周期,例如abcabcabcabc  以3为最小周期(注意它也可以以6和12为周期)

我们输入一个不超过200的串,输出它的最小周期(字符串区分大小写)

输入

有多组测试数据,每组输入一个字符串

输出

输出相应字符串的最小周期

样例输入

abcabcabcabc abcd

样例输出

3 4
本以为普通方法可能会超时,没想到这题只是纯粹的简单题,话不多说下面是AC代码。
#include <stdio.h> #include <string.h> int main() {char s[250];while(~scanf("%s", &s)) {int len = strlen(s), f = 1, i, j, k;for(i = len; i >= 2; i--) {if(len%i == 0) {int flag = 0, m = len/i;for(j = 0; j < m && flag == 0; j++) {for(k = 1; k < i; k++)if(s[j] != s[j+k*m]) {flag = 1;break;}}if(flag == 0) {f = i;break;}}}printf("%d\n", len/f);}return 0; }一串乱码,你可以试试你的程序是否超时。趴在键盘上睡
sdfjj+jjj=jj&^Wqeuqqqdhnn?"::\454der4*nnnnfklwgjqijr39u21#@8u3tergfgfkwfeqrjrfsofsdjdspfkjpjegfsg[dgqge]]d<ddd55ddwrd964sfgdgdf;hb\fd]gg+df/*gdss'gd;ffdjfd"sbhnamxvn.gerq//?>,lsd+1f\'d2sf+4sfs55dfsd

总结

以上是生活随笔为你收集整理的nyoj1121周期串的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。