题解 | #玛雅人的密码#

玛雅人的密码

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

//土尔逊Torson 编写于2023/06/14
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <queue>
#include <string>

using namespace std;

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

void bfs12101(string s) {
	queue<num12101> q;
	q.push(num12101(0, s));
	while (!q.empty()) {
		num12101 g = q.front();
		q.pop();
		string gs = g.s;
		if (gs.find("2012") != string::npos) {
			printf("%d\n", g.index);
			return;
		}
		for (int i = 0; i < gs.size() - 1; i++) {
			swap(gs[i], gs[i + 1]);
			q.push(num12101(g.index + 1, gs));
			swap(gs[i], gs[i + 1]);
		}
	}
	printf("-1\n");
}

int main() {
	int n;
	string m;
	while (scanf("%d", &n) != EOF) {
		cin >> m;
		bfs12101(m);
	}
	system("pause");
	return EXIT_SUCCESS;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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