455 - Periodic Strings (UVA)

题目链接如下:

Online Judge

我的代码如下:

#include 
#include 
const int maxN = 81;

int N, len, p;
char a[maxN];
bool flag;

int main(){
    scanf("%d", &N);
    while(N--){
        scanf("%s", a);
        len = strlen(a);
        p = len;
        for(int i = 1; i <= len / 2; ++i){
            if(len % i){
                continue;
            }
            flag = true;
            for(int j = i; j < len; ++j){
                if(a[j] != a[j % i]){
                    flag = false;
                    break;
                }
            }
            if(flag){
                p = i;
                break;
            }
        }
        printf("%d%s", p, N == 0 ? "\n" : "\n\n");
    }
    return 0;
}

你可能感兴趣的:(UVA,算法)