蓝桥杯-卡片换位

在这里插入图片描述
在这里插入图片描述

solution

有一个测试点没有空格,要特别处理,否则会有一个测试点运行错误!
还有输入数据的规模在变,小心顺手敲错了边界条件

#include<iostream>
#include<string>
#include<queue>
#include<map>
#include<algorithm>
using namespace std;
string start, t;
map<string, int> mp;
int ax, ay, x, y, d, k;
int X[4] = {-1, 1, 0, 0};
int Y[4] = {0, 0, -1, 1};int bfs(string s){queue<string> q;q.push(s);while(!q.empty()){t = q.front();q.pop();if(t.find('A') == ay && t.find('B') == ax) return mp[t];k = t.find(' ');for(int i = 0; i < 4; i++){x = k / 3 + X[i];y = k % 3 + Y[i];if(x < 0 || x >= 2 || y < 0 || y >= 3) continue;d = mp[t];swap(t[k], t[3 * x + y]);if(!mp.count(t)){mp[t] = d + 1;q.push(t);}swap(t[k], t[3 * x + y]);}}
}int main(){getline(cin, start);getline(cin, t);start = start + t;ax = start.find('A');ay = start.find('B');if(start.find(' ') == start.npos) cout << 10;else cout << bfs(start);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程与文件

目录 Linux的 > 和 >> 文件的本质 &#xff1a; 操作系统的系统调用函数 open&#xff1a; close&#xff1a;关闭文件 write&#xff1a; open的返回值&#xff1a; 操作系统视角中的“文件与进程之间的关系”&#xff1a; 从上图可以得知以下论点&#xff1a…

平台介绍-搭建赛事运营平台(7)

平台采用分层授权策略。权限体系的核心还是角色模式。通过系统先定义角色&#xff0c;然后给用户绑定角色。一个用户可以拥有多个角色&#xff0c;是多个角色拥有权限的并集。角色除了拥有还有拒绝&#xff0c;拒绝拥有五常才有的一票否决权。 平台新建品牌时&#xff0c;新建用…

LabVIEW电动汽车直流充电桩监控系统

LabVIEW电动汽车直流充电桩监控系统 随着电动汽车的普及&#xff0c;充电桩的安全运行成为重要议题。通过集成传感器监测、单片机技术与LabVIEW开发平台&#xff0c;设计了一套电动汽车直流充电桩监控系统&#xff0c;能实时监测充电桩的温度、电压和电流&#xff0c;并进行数…

基于微信小程序的民宿短租系统设计与实现(论文+源码)_kaic

摘 要 随着社会的发展&#xff0c;出差、旅游成为常态&#xff0c;也就造成民宿短租市场的兴起。人们新到陌生的环境里找民宿一般都是通过中介。中介虽然可以快速找到合适的民宿但会收取大量的中介费用&#xff0c;这对刚到新环境里的人们来说是一笔大的资金支出。也有一些人通…

Unity TMP 使用教程

文章目录 1 导入资源包2 字体制作3 表情包制作4 TMP 控件4.1 属性4.2 富文本标签 1 导入资源包 “Window -> TextMeshPro -> Import TMP Essential Resources”&#xff0c;导入完成后会创建一个名为"TextMehs Pro"的文件夹&#xff0c;这里面包含所需要的资源…

标定系列——基于OpenCV实现普通相机、鱼眼相机不同标定板下的标定(五)

标定系列——基于OpenCV实现相机标定&#xff08;五&#xff09; 说明代码解析VID5.xmlin_VID5.xmlcamera_calibration.cpp 说明 该程序可以实现多种标定板的相机标定工作 代码解析 VID5.xml <?xml version"1.0"?><!-- 相机拍摄的标定板图像路径名 --…

每日一题 --- 反转字符串中的单词[力扣][Go]

反转字符串中的单词 题目&#xff1a;151. 反转字符串中的单词 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符…

Zabbix6 - Centos7源码编译部署HA高可用集群手册

Zabbix6 - Centos7源码编译部署HA高可用集群手册 HA高可用集群 总所周知,在我们IT运维的圈圈中,HA高可用集群服务算是逼格最高的吧也是运维里保障力度最大的环境。 HA是HighlyAvailable缩写,是双机集群系统简称,提高可用性集群,是保证业务连续性的有效解决方案,一般有两个…

GitHub开源项目权限管理-使用账号和个人令牌访问

1.打开后台账号设置 2.找到左下角的Developer settings 3.找到Personal access tokens 的 Tokens(classic) 4.选择创建新证书 5.填写证书信息 6.点击生成证书&#xff0c;复制证书并且保存起来&#xff08;血泪教训&#xff0c;证书只会在创建时显示一次&#xff0c;以后就再也…

用于 Linux 运维的专门发行版,以及工具

Linux 运维必备的13款实用工具 https://blog.csdn.net/m0_46426259/article/details/121681374 2023 适用于安全专业人士的十款 Linux 发行版 https://www.sysgeek.cn/linux-distributions-for-security/#google_vignette 6个用于黑客攻击的最佳Linux发行版 https://zhuan…

WebView的使用详解

WebView 现在Android开发基本都会用到WebView,所以自己准备系统的整理下,供自己学习之用. 1.简介 WebView是一个基于webkit引擎、展现web页面的控件。 Android的Webview在低版本和高版本采用了不同的webkit版本内核&#xff0c;4.4后直接使用了Chrome。 2.作用 显示和渲染…

Django安装及第一个项目

1、安装python C:\Users\leell>py --version Python 3.10.6 可以看出我的环境python的版本3.10.6&#xff0c;比较新 2、 Python 虚拟环境创建 2.1 官网教程 目前&#xff0c;有两种常用工具可用于创建 Python 虚拟环境&#xff1a; venv 在 Python 3.3 及更高版本中默…

安全的内网通讯软件,WorkPlus定制化 IM/办公门户解决方案

如今处于数字化转型的“加速期”&#xff0c;政企正经历着一场数字化迭代升级的时代浪潮。而不少企业都已具备了数字化管理的意识&#xff0c;数字化应用场景也在全面推开。WorkPlus不断推动信息技术与企业业务深度融合&#xff0c;作为安全的内网通讯软件&#xff0c;为企业提…

[RoarCTF 2019]Online Proxy --不会编程的崽

这几天也是ctf做得有点头疼了。好些序列化的题没碰&#xff0c;一直做些sql注入类的题目。闲来无事&#xff0c;在更一次sql注入吧。 整个页面就这点信息。首先想想为什么他能获取你的ip。猜测是数据包X-Forwarded-For。 它还输出上次访问页面客户端的ip。很明显了&#xff0c…

低功耗、低成本 NAS/公共文件夹 的可能性

使用现状&#xff1a;多台工作电脑&#xff0c;家里人手一台&#xff0c;还在两个住处 有好几台工作电脑&#xff0c;不同电脑不同OS有不同的用途&#xff0c;最大的问题就是各个电脑上文件的同步问题&#xff0c;这里当然就需要局域网里的公共文件夹&#xff0c;在NAS的问题上…

GenICam-GenApi简介

EMVA 1288标准之GemICam-GenApi学习与解读 背景介绍 当前相机不仅用于传输图像&#xff0c;还打包了越来越多的功能。这就导致相机的编程接口越来越复杂。 GenICam的目标是为所有类型的相机提供一个通用的编程接口&#xff0c;无论相机使用何种接口技术&#xff0c;或者实现…

vue3从精通到入门6:v-memo指令

v-memo是一个用于优化组件渲染性能的指令。它允许你根据某个条件来缓存组件的虚拟 DOM 树&#xff0c;从而在条件没有变化时避免不必要的重新渲染。这对于那些接收大量 props 且渲染成本较高的组件来说非常有用。 用法 v-memo 指令接受一个表达式或一个数组作为参数&#xff0…

JVM实战之性能调优[2](线程转储案例认识和分析)

文章目录 版权声明案例1&#xff1a;CPU占用率高问题问题描述解决思路补充内容 案例2&#xff1a;接口响应时间长问题问题描述解决思路Arthas trace命令Arthas watch命令解决问题 案例3&#xff1a;定位偏底层性能问题问题描述解决思路&#xff1a;Arthas火焰图问题解决 案例4&…

论文阅读,Accelerating the Lattice Boltzmann Method(五)

目录 一、Article:文献出处&#xff08;方便再次搜索&#xff09; &#xff08;1&#xff09;作者 &#xff08;2&#xff09;文献题目 &#xff08;3&#xff09;文献时间 &#xff08;4&#xff09;引用 二、Data:文献数据&#xff08;总结归纳&#xff0c;方便理解&am…

nimbus-jose-jwt库简单使用 公私钥字符串互相转换

nimbus-jose-jwt库简单使用 对称密钥签名非对称密钥对公私钥与字符串互相转换生成密钥对公私钥转字符串字符串转公私钥公钥字符串转公钥对象私钥字符串转私钥对象 maven坐标 <dependency><groupId>com.nimbusds</groupId><artifactId>nimbus-jose-jwt&…