uva455 periodic strings
来源:互联网 发布:ubuntu recovery 联网 编辑:程序博客网 时间:2024/06/15 16:30
刚开始思路是一个一个慢慢找,遇到和a[0]一样的,在比较所有length的倍数,如果全部一样,就是周期。
但是程序写出来发现了如下错误。形如ababa,abcab,的判断的周期是错误的。
贴上代码
#include<stdio.h>#include<string.h>int main(){int n,i,j,length,l;char a[85];while(~scanf("%d",&n)){for(i=0;i<n;i++){j=1;scanf("%s",a);while(1){for(;j<strlen(a);j++)if(a[0]==a[j]){length=l=j;break;}if(strlen(a)%length!=0){break;}for(l;l<strlen(a);){if(a[0]!=a[l])break;elsel=l+l;}if((l+length)>strlen(a)-1)break;elsej++;}if(strlen(a)%length!=0)printf("%d\n",strlen(a));elseprintf("%d\n",length);}}}在网上找了一下发现他们都是设定周期然后找的,感觉自己代码漏洞太多,干脆推倒重来吧。
#include<stdio.h>#include<string.h>int main(){int n,i,j,k,l=1;char a[85];while(~(scanf("%d",&n)==1)){for(i=0;i<n;i++){scanf("%s",a);for(j=1;j<strlen(a);j++){if(strlen(a)%j!=0) continue; else for(k=j;k<strlen(a);) { if(a[j]!=a[0]) { l=0; break; } else k=k+j; } if(l) break;}printf("%d\n",j); }}}结果是对的,超时了是什么鬼?
宝宝不开心。
。。。。。,我还会杀回来的。
0 0
- UVa455 - Periodic Strings
- UVA455 - Periodic Strings
- uva455 Periodic Strings
- Periodic Strings UVA455
- UVA455 Periodic Strings
- uva455 - Periodic Strings
- Periodic Strings Uva455 【KMP】
- [UVA455]Periodic Strings
- UVa455 Periodic Strings
- UVa455--Periodic Strings
- UVA455 Periodic Strings
- UVA455 Periodic Strings
- uva455 periodic strings
- UVa455 Periodic Strings
- Periodic Strings,UVa455
- UVA455 Periodic Strings
- UVa455 - Periodic Strings
- UVa455 periodic Strings
- JSPatch的初步学习
- No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse
- 初学C#的编程小白创建计算器全过程并恶意卖萌(1之制作计算器)
- Android学习路线的归纳总结
- 使用scala的actor模型实现并发的例子
- uva455 periodic strings
- HDU 1394 Minimum Inversion Number 线段树
- web html基础知识
- iOS开发之初:自定义tabBar与tabBarController
- Android Studio 常用的快捷键
- 简单通讯录
- 给 Web 开发者的 25 款最有用的 AngularJS 工具
- 每天进步一点点——ubuntu 13.10中安装google的gtest库
- 杭电-模拟-1280-1035