nyoj1121周期串

来源:互联网 发布:淘宝旺旺头像图片 编辑:程序博客网 时间:2024/05/14 23:04
题目链接: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的串,输出它的最小周期(字符串区分大小写)

输入

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

输出

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

样例输入

abcabcabcabcabcd

样例输出

34

本以为普通方法可能会超时,没想到这题只是纯粹的简单题,话不多说下面是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

0 0
原创粉丝点击