Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
一样暴力,不过我的204ms,stl虽然好用,但是效率不行啊!In Reply To:用cin超时 改成scanf后ac 内存5956k 用时2938ms 没用算法 硬想的办法 附代码 Posted by:gjl87910lq at 2009-05-11 16:56:43 #include <stdio.h> #include <string.h> #define N 1000001 char str[N], substr[N]; int find_str(char s[], char subs[], int n) { int i; for(i = 0; i < n; ++i) if(s[i] != subs[i]) return 0; return 1; } int main() { char *p; int len; int i, k; while(scanf("%s", str), strcmp(str, ".") != 0) { len = strlen(str); for(i = 0; i < len; ++i) { substr[i] = str[i]; k = i + 1; substr[k] = '\0'; if(len % k == 0) { p = str + k; while(find_str(p, substr, k)) p += k; if(p == str + len) break; } } printf("%d\n", len / k); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator