2020牛客暑期多校训练营(第一场)F题

2020牛客暑期多校训练营(第一场)F题_第1张图片
题目大意:有两串字符串,可以无限重复延长,比较他们的字典序大小。
解题思路:利用字符串长度最长为1e5,直接循环字符串暴力解决即可(关键加if(nu1= =aa&&nu2= =bb))
代码如下:

#include
#include
#include
#include
using namespace std;
typedef long long ll;
ll check(string a,string b)
{
    ll z=0;
    ll aa=a.length();
    ll bb=b.length();
    ll nu1=0;
    ll nu2=0;
    char h1,h2;
    while(1)
    {
        z++;
        if(nu1==aa&&nu2==bb)
		{
//          cout<
            h1=a[nu1];
            h2=b[nu2];
            break;
        }
        if(nu1==aa)
        nu1=0;
        if(nu2==bb)
        nu2=0;
        if(a[nu1]!=b[nu2])
        {
//          cout<
            h1=a[nu1];
            h2=b[nu2];
            break;
        }
        nu1++;
        nu2++;
        if(z>500000)
        {
//          cout<<"aaaa"<
            h1=a[nu1];
            h2=b[nu2];
            break;
        }
         
    }
//  cout<<"a[nu1]="<if(h1>h2)
    return 3;
    else if(h1==h2)
    return 2;
    else if(h1<h2)
    return 1;
}
int main()
{
    string a,b;
    while(cin>>a>>b)
    {
        ll x=check(a,b);
        if(x==1)
        cout<<"<"<<endl;
        else if(x==2)
        cout<<"="<<endl;
        else if(x==3)
        cout<<">"<<endl;
        scanf(" ");
    }
    return 0;
}

你可能感兴趣的:(2020牛客暑期多校训练营(第一场)F题)