您的位置:首页 > 其它

UVa-455 Periodic Strings

2015-02-14 03:34 253 查看
第一次是自己写的,写完后看rujia写的更赞,于是模仿他又写了一遍。

[code]#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        char a[85]={};
        cin>>a;
        int k=strlen(a);
        for(int i=1;i<=k;i++)
        {
            if(k%i==0)
            {
                bool flag=1;
                for(int j=0;j<i;j++)
                {
                    for(int p=j+i;p<k;)
                    {
                        if(a[p]==a[j]) p+=i;
                        else
                        {
                            flag=0;
                            break;
                        }
                    }
                }
                if(flag==1)
                {
                    cout<<i<<endl;
                    break;
                }
            }
        }
        if(t) cout<<endl;
    }
}


[code]#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        char a[85]={};
        cin>>a;
        int k=strlen(a);
        for(int i=1,j;i<=k;i++)
        {
            if(k%i==0)
            {
                for(j=i;j<k;j++)
                    if(a[j]!=a[j%i]) break;
                if(j==k)
                {
                    cout<<i<<endl;
                    break;
                }
            }
        }
        if(t) cout<<endl;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: