Problem Link
Problem Type : Adhoc, String Processing
Difficulty Level : Easy
Author : Imdad
Run Time: 0.289
Here, is the c++ implementation of this problem.
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int i,j,k,power,len;
char s[1000005];
bool ans;
//freopen("i.txt", "r", stdin);
//freopen("o.txt", "w", stdout);
while(scanf("%s", &s) == 1){
if(!strcmp(s, "."))break;
len = strlen(s);
for(i = 1; i <= len; i++){
if(len % i == 0){
power = len / i;
ans = true;
for(j = 0; j < i; j++){
for(k = j + i; k < len; k += i){
if(s[j] != s[k]){
ans = false;
break;
}
}
}
if(ans)break;
}
}
printf("%d\n", power);
}
return 0;
}

No comments:
Post a Comment