poj 3087

来源:互联网 发布:aframe.js 加载obj 编辑:程序博客网 时间:2024/06/11 19:42
</pre><p>简单的模拟题目 </p><p>一开始理解题目错了,把 拆分后的s1,s2弄反了,答案错误。</p><p>不过代码的速度太慢了,32ms</p><p>大神都是0ms的。T~T</p><pre name="code" class="cpp">#include <iostream>#include <memory>#include <string>using namespace std;int n,c,time,i;string no;string s1,s2,s;int shuffle(){    int i,j;    string t1=s1,t2=s2;    do    {        string temp;        for(i=0;i<c;i++) //合并            temp=temp+t2[i]+t1[i];        for(i=0;i<c;i++)  //拆分            t1[i]=temp[i];        for(j=0;j<c;i++,j++)            t2[j]=temp[i];        time++;       // cout<<t1<<" "<<t2<<" "<<temp<<endl;        if(temp==s)            return time;    }while(t1!=s1&&s2!=t2);    return -1;}int main(){    cin>>n;    for(i=1;i<=n;i++)    {        time=0;        cin>>c;        cin>>s1;        cin>>s2;        cin>>s;        cout<<i<<" "<<shuffle()<<endl;    }}

0 0