UVa 455 - Periodic Strings

顿时感觉世界无爱了,调试了很长很长很长时间(虽然这其中也在玩),尝试了各种数据,发现答案并没有问题,可是提交上去就WA,一共WA了3次! 也仔细读了题,每两组输出数据之间也有空行,可还是不对! 最后被逼无奈,去网上搜了一下别人写的代码,结果发现最后一个输出数据后无空行!!!!   还能在坑吗!!!   能不能!,还有这不应该是格式错误吗!             浪费了这么长时间,都是泪啊!   睡觉!!!!!!!

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int m,n,i,j,k,r,s,t,R,q;
    char a[100],c[100];
    scanf("%d",&m);
    for(k=1; k<=m; k++)
    {
        memset(a,'\0',sizeof(a));
        memset(c,'\0',sizeof(c));
        scanf("%s",a);
        n=strlen(a);
        for(i=1; i<=n; i++)
        {
            if(n%i != 0)
                continue;
            if(i == n)
            {printf("%d\n",n); break;}
            t=0;
            for(j=0; j<i; j++)
                c[t++]=a[j];
            r=i; R=i; t=0;  s=0; q=1;
            for(j=r; j<n; j++)
            {
                 if( a[j] != c[t++] )
                     s=1;
                  if(s == 1)
                    goto loop;
                  if(j== r+q*R-1)
                     {t=0;  q++;}
            }
            if(s == 0)
            {
                printf("%d\n",i);
                break;
            }


            loop: continue;
        }
        if(k!=m)
            printf("\n");
    }
    return 0;
}

你可能感兴趣的:(UVa 455 - Periodic Strings)