UVa 455(Periodic Strings)
来源:互联网 发布:java正则表达式 匹配: 编辑:程序博客网 时间:2024/06/05 19:41
该题的数据量小,直接暴力枚举:依次枚举循环节的长度,进行测试
//我自己写的,比较麻烦,虽然也AC了#include<iostream>#include<string.h>using namespace std;char str[100];int main(void){int N, len, period;bool flag;cin >> N;while (N--){cin >> str;len = strlen(str);for (int i = 1; i <= len; i++){flag = true;if (len%i == 0){if (len / i == 1){period = len;}else{//下面对该字符串中每两个相邻“子串”都进行相互比较for (int k = 1; (k <= len / i - 1) && flag; k++){for (int j = k*i - i; (j < k*i) && flag; j++){if (str[j] != str[j + i]){flag = false;break;}}}if (flag) period = i;}if (flag){cout << period << endl;break;}}}if (N) cout << endl;}return 0;}//参考别人的代码改进的#include<iostream>#include<string.h>using namespace std;char str[100];int main(void){int N;cin >> N;while (N--){cin >> str;int len = strlen(str);for (int i = 1; i <= len; ++i){if (len%i == 0){int j;for (j = i; j < len; ++j){//利用周期性~j%i回到第一个周期的串//将后面的串,循环与第一个周期的串的各个字母比较if (str[j] != str[j%i]) break;}if (j == len){cout << i << endl;break;}}}if (N) cout << endl;}return 0;}
阅读全文
0 0
- UVA 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 Periodic Strings
- UVa - 455 Periodic Strings
- UVa 455 Periodic Strings
- UVa 455 - Periodic Strings
- Uva 455-periodic strings
- Uva 455-periodic strings
- UVa-455Periodic Strings
- 【Uva 455】 Periodic Strings
- UVA - 455 Periodic Strings
- UVa 455 - Periodic Strings
- Uva - 455 - Periodic Strings
- UVA - 455 Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 - Periodic Strings
- Java数组
- aspertjrt的简易理解
- Angular-ui-router入门
- 用 Prometheus 来监控你的 Kubernetes 集群
- java中方法的参数传递机制
- UVa 455(Periodic Strings)
- 業務システムの開発ドキュメント標準化 第8回:要求仕様書の標準化プロセス
- Servlet- Filter-实例-非法字符过滤器
- POJ1979 裸裸的深搜
- cocos2d-x
- Linux 常用命令1
- {"errmsg":"error","retcode":103}2017.7.4 webQQ 103 api问题、smartQQ 103 api问题
- Map遍历时报ConcurrentModificationException解决方法
- SQL 2008提示错误信息(provider: SQL Network Interfaces, error: 25