欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

POJ - 3087 Shuffle'm Up 暴力模拟

程序员文章站 2022-03-23 10:52:30
...
#include <iostream>
#include<cstdio>
#include<map>
using namespace std;
int main()
{
    int l;
    string S1,S2,S,s;
    int T;
    cin>>T;
    for(int t=1; t<=T; t++)
    {
        cin>>l>>S1>>S2>>S;
        int ans=0;
        s=S1+S2;
        map<string ,bool>mp;
        while (true)
        {
            mp[s]=true;
            for(int i=0;i<l;i++)
            {
                s[2*i]=S2[i];
                s[2*i+1]=S1[i];
            }
            ans++;
            if(s==S||mp[s]==true)break;
            for(int i=0;i<l;i++)
            {
                S1[i]=s[i];
                S2[i]=s[l+i];
            }
        }
        if(mp[s]==true)printf("%d %d\n",t,-1);
        else printf("%d %d\n",t,ans);
    }
    return 0;
}
相关标签: kuangbin 模拟