题解 | #玛雅人的密码#
玛雅人的密码
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;
}
海康威视公司福利 1137人发布