题解 | #玛雅人的密码#

玛雅人的密码

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")

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 14:45
bg是二本双一流硕,目标是Java后端开发岗,投暑期实习0大厂面试,只有极少的大厂测开,可能投的晚加上简历太烂加上0实习?求大佬们给个建议
程序员小白条:别去小厂,初创或者外包,尽量去中小,100-499和500-999,专门做互联网产品的,有公司自研的平台和封装的工具等等,去学习一些业务相关的,比如抽奖,积分兑换,SSO认证,风控,零售等等,目标 Java 后端开发吗?你要不考虑直接走大厂测开?如果技术不行的话,有面试你也很难过的
实习,不懂就问
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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