第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 AB路线

在这里插入图片描述
//bfs 1000100010不会超时

#include<bits/stdc++.h>
using namespace std;
#define int long long 
const int n=1e3+11;
int a,b,c,h[n][n][12],k[4][2]={0,1,0,-1,1,0,-1,0}; 
char t[n][n];
struct s 
{int x,y,z,w;
};
signed main()
{ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a>>b>>c;for(int i=1;i<=a;i++){for(int j=1;j<=b;j++){cin>>t[i][j];}}queue<s>q;q.push({1,1,1,0});h[1][1][1]=1;while(!q.empty()){s m=q.front();q.pop();if(m.x==a&&m.y==b){cout<<m.w<<endl;return 0;}int xx,yy;for(int i=0;i<4;i++){xx=m.x+k[i][0];yy=m.y+k[i][1];if(xx>=1&&xx<=a&&yy>=1&&yy<=b){if(m.z==c){if(h[xx][yy][1]==0&&t[xx][yy]=='B'&&t[m.x][m.y]=='A'){h[xx][yy][1]=1;q.push({xx,yy,1,m.w+1});}if(h[xx][yy][1]==0&&t[xx][yy]=='A'&&t[m.x][m.y]=='B'){h[xx][yy][1]=1;q.push({xx,yy,1,m.w+1});}}else{if(t[xx][yy]==t[m.x][m.y]&&h[xx][yy][m.z+1]==0){h[xx][yy][m.z+1]=1;q.push({xx,yy,m.z+1,m.w+1});}}}}}cout<<"-1"<<endl;
}

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

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

相关文章

(规格参考)ADP5360ACBZ-1-R7 电量计 电池管理IC,ADP5072ACBZ 双通道直流开关稳压器,ADL5903ACPZN 射频检测器

1、ADP5360ACBZ-1-R7&#xff1a;具有超低功耗电量计、电池保护功能的先进电池管理PMIC 功能&#xff1a;电池保护 电池化学成份&#xff1a;锂离子/聚合物 电池数&#xff1a;1 故障保护&#xff1a;超温&#xff0c;过压 接口&#xff1a;I2C 工作温度&#xff1a;-40C ~ 85…

Spring Security入门教程:实现自定义用户配置

在上一篇文章中&#xff1a;Spring Security入门教程&#xff1a;利用Spring Security实现安全控制 我们学会了使用Spring Security实现安全控制&#xff0c;学会了他的基础使用&#xff0c;这节课我们来学习一下它的自定义的功能&#xff0c;更深入的了解和使用Spring Securit…

OpenHarmony 实战开发——ArkUI canvas组件

canvas 是 ArkUI 开发框架里的画布组件&#xff0c;常用于自定义绘制图形。因为其轻量、灵活、高效等优点&#xff0c;被广泛应用于 UI 界面开发中。本期&#xff0c;我们将为大家介绍 ArkUI 开发框架中 canvas 组件的使用。 一、canvas 介绍 1.1 什么是 canvas&#xff1f; …

rocketmq的存储和检索

messageId是rocketmq自动生成的。

Java的response返回Json格式

问题 今天开发过程中&#xff0c;写了个拦截器&#xff0c;对于所以请求进行一个token的工作&#xff0c;对于不合标准的token返回错误&#xff0c;在网上找了个拦截器进行二次开发。 package com.maizhiyu.yzt.handle;import org.springframework.beans.factory.annotation.…

AWS Lambda配置CloudWatch日志

Hello example&#xff1a;AWS Lambda 第一个例子Hello (JAVA)-CSDN博客 创建lambda函数&#xff0c;测试&#xff0c;然后点击CloudWatch日志 CloudWatch日志组不存在 创建CloudWatch日志组 1) CloudWatch -> 日志组 -> 创建日志组 2) 填写名称&#xff0c;创建 添加权…

掌握这些神器,让你的编程之路更加“丝滑”

前言&#xff1a; 在软件开发的旅程中&#xff0c;程序员的实用神器确实如同指南针&#xff0c;帮助他们在复杂的代码海洋中导航。以下是从三个方向——自动化测试工具、持续集成/持续部署&#xff08;CI/CD&#xff09;以及代码审查与质量分析——来探讨这些实用神器的应用和影…

Prettier与ESLint:代码风格与质量的自动化保证

Prettier 和 ESLint 是两个互补的工具&#xff0c;它们共同确保代码的风格一致性和质量。Prettier 负责格式化代码&#xff0c;而 ESLint 则执行更复杂的静态分析和规则检查。 2500G计算机入门到高级架构师开发资料超级大礼包免费送&#xff01; Prettier 作用&#xff1a; …

python数据清洗-找到重复的txt并输出字数最少的

import os import json from collections import Counterdef find_and_write_duplicate_txt_files(root_folder, output_file):# 存储所有找到的 txt 文件名和路径的字典列表txt_files_dict_list []# 统计每个文件名出现的次数filename_counts Counter()# 遍历文件夹及其子文…

nmap端口扫描工具——LInux

目录 系统版本: nmap主要功能 安装: nmap命令使用方法

SC8908电机驱动芯片替代AN41908

SC8908 描述 五路H桥静音驱动电机驱动芯片&#xff0c;闭环直流电机光圈调节&#xff0c;支持霍尔位置检测&#xff0c; 2个步进电机。步进电机驱动带256微步细分。 主要特性 • 步进驱动H桥每路250mA最大驱动电流 • 光圈直流驱动H桥每路150mA最大驱动电流 • 单独…

web学习笔记(五十四)Vue

目录 1.初始Vue 1.1 什么是Vue 1.2 Vue的特点 1.3 引入Vue 1.4 使用Vue 2. 数据绑定的方法 2.1 Mustache&#xff08;双大括号插值法&#xff09; 2.2 v-text 2.3 v-html 3. 列表渲染 1.初始Vue 1.1 什么是Vue Vue 是一套用于构建用户界面的渐进式JavaScript框架。…

1725 ssm资产管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm资产管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/…

libssh C++封装之六(Dir)

1 概述 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。 libssh下载地址 3 实现 3.5 Dir Dir类型管理远程路径,通过SFTP和Channel实现(有…

uni u-form-item 只有图标点击有效

如下,输入的地方是个选择项,代码如下: <u-form-item class=u-form-item label="监督主题" prop="themeName" borderBottom ref="item1" @click="openPopup(0)" > <u--input v-model="form.themeNam…

PTA--《面线对象程序设计》作业3-继承与多态

目录 一&#xff1a;函数题 6-2 长方形长方体类&#xff1a; 6-1 从抽象类shape类扩展出一个圆形类Circle 二&#xff1a;编程题 7-1&#xff1a;周长计算器 一&#xff1a;函数题 6-2 长方形长方体类&#xff1a; 定义一个长方形类Rectangle&#xff0c;拥有长、宽属性…

定时发圈操作介绍

1、登陆已有的账号&#xff0c;点击到"朋友圈"功能 2、选择要发圈的微信号&#xff0c;编辑发圈的文案内容 3、自定义想要的时间点 4、点击"立即发送" 5、可进行跟圈

【JavaScript】eval

JavaScript 中的 eval() 是一个全局函数&#xff0c;它接受一个字符串参数&#xff0c;并将其作为 JavaScript 代码进行解析和执行&#xff1b;如果接收的不是一个字符串&#xff0c;则会将传入的数据直接返回。 eval 的基本用法&#xff1a; eval() 函数将传入的字符串参数作为…

深度解析 Spring 源码:解密AOP切点和通知的实现机制

文章目录 深度解析 Spring 源码&#xff1a;解密AOP切点和通知的实现机制一、Spring AOP的基础知识1.1 AOP的核心概念&#xff1a;切点、通知、切面等1.2 Spring AOP与传统AOP的区别和优势 二、深入分析切点和通知的实现2.1 研究 Pointcut 接口及其实现类2.1.1 Pointcut 接口2.…

powershell 防止休眠或屏幕关闭并定时截屏保存

powershell 防止休眠或屏幕关闭 01 前言 因工作需要&#xff0c;需要在用户的机器上进行操作&#xff0c;有些工作比较耗时、耗CPU&#xff0c;配置也不高&#xff0c;因而就不能用这台机器同时干太多活&#xff0c;又不能干盯着啥也干不了&#xff0c;但是一段时间不操作&am…