题解 | #玛雅人的密码#

玛雅人的密码

https://www.nowcoder.com/practice/761fc1e2f03742c2aa929c19ba96dbb0

#include<iostream>
#include<queue>
#include<string>

using namespace std;

struct mitery{
    int index;
    string s;
    mitery(int i,string ss):index(i),s(ss){}
};

void bfs(string s){
    queue<mitery> q;
    q.push(mitery(0,s));
    while(!q.empty()){
        mitery t=q.front();
        q.pop();
        string ts=t.s;
        if(ts.find("2012")!=string::npos){
            cout<<t.index<<endl;return ;
        }
        for(int i=0;i<ts.size()-1;i++){
            swap(ts[i],ts[i+1]);
            q.push(mitery(t.index+1,ts));
            swap(ts[i],ts[i+1]);
        }
    }
    cout<<-1<<endl;
}
int main(){
    int n;
    string s;
    while(cin>>n>>s){
        bfs(s);
    }
    return 0;
}

全部评论

相关推荐

06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务