Codeforces Round 929 (Div. 3) F. Turtle Mission: Robot and the Earthquake

题目

题解:

按题解思路的代码:

#include <bits/stdc++.h>using i64 = long long;void solve() {int n, m;std::cin >> n >> m;std::vector a(n, std::vector<int>(m));for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {std::cin >> a[i][j];}}std::queue<std::pair<int, int>> q;std::vector dis(n, std::vector(m, -1));q.emplace(0, 0);dis[0][0] = 0;while (!q.empty()) {auto [x, y] = q.front();q.pop();if (y < m - 1 && a[(x + 1) % n][y + 1] == 0 && dis[(x + 1) % n][y + 1] == -1) {dis[(x + 1) % n][y + 1] = dis[x][y] + 1;q.emplace((x + 1) % n, y + 1);}if (a[(x + 1) % n][y] == 0 && a[(x + 2) % n][y] == 0 && dis[(x + 2) % n][y] == -1) {dis[(x + 2) % n][y] = dis[x][y] + 1;q.emplace((x + 2) % n, y);}}int ans = -1;for (int i = 0; i < n; i++) {int res = dis[i][m - 1];if (res != -1) {if (res % n != (i + 1) % n) {res += (i + 1 - res % n + n) % n;}if (ans == -1 || ans > res) {ans = res;}}}std::cout << ans << "\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t;std::cin >> t;while (t--) {solve();}return 0;
}

另一种方法:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define fi first
#define se second
#define lson p << 1
#define rson p << 1 | 1
#define ll long long
#define pii pair<int, int>
#define ld long double
const int maxn = 1e6 + 5, inf = 1e18, maxm = 4e4 + 5, base = 37;
const int N = 2e6;
const int mod = 1e9 + 7;
// const int mod = 998244353;
// const __int128 mod = 212370440130137957LL;
int n, m;//long long ? maxn ? n? m?
void solve(){ll res = 0;int k;cin >> n >> m;// vector<int> a(n + 1);// for(int i = 1; i <= n; i++){// 	cin >> a[i];// }vector<vector<int>> a(n + 1, vector<int>(m + 1)), dis(n + 1, vector<int>(m + 1, inf));for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){cin >> a[i][j];}}queue<pii> q;dis[0][0] = 0;q.push({0, 0});while(!q.empty()){auto [x, y] = q.front();q.pop();int nx = (x + 1) % n, ny = y;if(dis[nx][ny] == inf && a[(x + 1 + dis[x][y]) % n][y] == 0 && a[(x + 2 + dis[x][y]) % n][y] == 0){dis[nx][ny] = dis[x][y] + 1;q.push({nx, ny});}nx = x, ny = y + 1;if(ny < m && dis[nx][ny] == inf && a[(x + 1 + dis[x][y]) % n][y + 1] == 0){dis[nx][ny] = dis[x][y] + 1;q.push({nx, ny});}}res = inf;for(int i = 0; i < n; i++){res = min({res, dis[i][m - 1] + min(n - 1 - i, i + 1)});}if(res == inf) res = -1;cout << res << '\n';
}signed main(){ios::sync_with_stdio(0);cin.tie(0);cout << fixed << setprecision(9);int T = 1;cin >> T;while (T--){solve();}return 0;
}

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

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

相关文章

STM32—SPI通讯协议

前言 由于I2C开漏外加上拉电阻的电路结构&#xff0c;使得通信线高电平的驱动能力比较弱&#xff0c;这就会号致&#xff0c;通信线由候电平变到高电平的时候&#xff0c;这个上升沿耗时比较长&#xff0c;这会限制I2C的最大通信速度&#xff0c; 所以&#xff0c;I2C的标准模…

uniapp-小程序开发0-1笔记大全

uniapp官网&#xff1a; https://uniapp.dcloud.net.cn/tutorial/syntax-js.html uniapp插件市场&#xff1a; https://ext.dcloud.net.cn/ uviewui类库&#xff1a; https://www.uviewui.com/ 柱状、扇形、仪表盘库&#xff1a; https://www.ucharts.cn/v2/#/ CSS样式&…

经纬恒润荣获2024中国汽车供应链大会创新成果奖

2024年9月24日-26日&#xff0c;2024中国汽车供应链大会暨第三届中国新能源智能网联汽车生态大会在武汉隆重举办。本届大会以“新挑战、新对策、新机遇——推动中国汽车供应链可持续发展”为主题&#xff0c;集聚政府主管领导、行业专家、汽车及零部件企业精英和主流媒体&#…

Ubuntu24.04 安装 NCAR Command Language(NCL)

目录 一般直接在Terminal中使用apt安装命令即可&#xff0c; 出现这样的问题&#xff0c; 如何解决这个问题呢&#xff1f; 一般直接在Terminal中使用apt安装命令即可&#xff0c; sudo apt install ncl-ncarg 但是&#xff0c;由于 Ubuntu 版本较新 Ubuntu 24.04&#xff…

Python OpenCV精讲系列 - 三维重建深入理解(十七)

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;Python OpenCV精讲⚡️⚡️&#x1f496;&#x1f496; 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计&#xff0c;从基础概念入手&#xff0c;逐步深入到图像处理、特征检测、物体识…

迪杰斯特拉算法的理解

图片转载自&#xff1a;最短路径算法-迪杰斯特拉(Dijkstra)算法 - 程序小哥爱读书的文章 - 知乎 https://zhuanlan.zhihu.com/p/346558578 迪杰斯特拉&#xff0c;一个广度优先算法&#xff0c;采用了贪心策略。 第一步&#xff0c;选取顶点D&#xff0c;更新和D相连的节点C&a…

78天闭门深造1258页SpringCloud学习进阶笔记,再战蚂蚁金服

概述 作为一名程序员应该都知道SpringCloud&#xff0c;不知道就该反思一下了啊[奸笑]。所以就不有板有眼的和官方的介绍一样了&#xff0c;今天就说一下&#xff0c;我理解的SpringCloud是什么&#xff1a;我所理解的Spring Cloud就是微服务系统架构的一站式解决方案&#xf…

Java项目: 基于SpringBoot+mysql+maven+vue林业产品推荐系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismavenvue林业产品推荐系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操…

算法工程师重生之第二十七天(合并区间 单调递增的数字 监控二叉树 总结)

参考文献 代码随想录 一、合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a…

Windows git 配置

需要在git-bash的目录下,配置.ssh 的配置文件 要 .ssh 目录下的配置无法使用

【SPIE独立出版】第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024,2024年11月15-17日 )

第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024) The 4th International Conference on Computer Technology, Information Engineering and Electron Materials 会议官网&#xff1a;www.ctieem.org The 4th International Conference on Computer Technology,…

阿里 C++面试,算法题没做出来,,,

我本人是非科班学 C 后端和嵌入式的。在我面试的过程中&#xff0c;竟然得到了阿里​ C 研发工程师的面试机会。因为&#xff0c;阿里主要是用 Java 比较多&#xff0c;C 的岗位比较少​&#xff0c;所以感觉这个机会还是挺难得的。 阿里 C 研发工程师面试考了我一道类似于快速…

Android上的AES加密

基础算法说明 https://www.youtube.com/watch?vlnKPoWZnNNM 虽然这个视频讲的非常详细&#xff0c;但是涉及到具体底层算法&#xff0c;大致流程 1. 将数据转成HEX或者byte array 2.将数据分层一块块等大小的数据 3.将数据和key 进行一次混合&#xff0c;加密之后的输出&…

ClickHouse的原理及使用,

1、前言 一款MPP查询分析型数据库——ClickHouse。它是一个开源的&#xff0c;面向列的分析数据库&#xff0c;由Yandex为OLAP和大数据用例创建。ClickHouse对实时查询处理的支持使其适用于需要亚秒级分析结果的应用程序。ClickHouse的查询语言是SQL的一种方言&#xff0c;它支…

【排序】——1.冒泡排序法(含优化)

冒泡排序 1.原理 左边大于右边交换一趟排下来最大的交换到右边来(接下来所以文章用升序举例) 从左到右&#xff0c;相邻元素进行比较。 每次比较一轮&#xff0c;就会找到序列中最大的一个&#xff08;最小的一个——降序&#xff09;。这个数就会从序列的最右边冒出来。 以…

算法时间、空间复杂度(二)

目录 大O渐进表示法 一、时间复杂度量级的判断 定义&#xff1a; 例一&#xff1a;执行2*N&#xff0b;1次 例二&#xff1a;执行MN次 例三&#xff1a;执行已知次数 例四:存在最好情况和最坏情况 顺序查找 冒泡排序 二分查找 例五&#xff1a;阶乘递归 ​编辑 例…

JIT详解

文章目录 JIT为什么说 Java 语言“编译与解释并存”&#xff1f; JIT原理JVM 架构简览JIT 编译流程JIT 编译器的实现优化策略方法内联逃逸分析 JIT 在Java中&#xff0c;JIT&#xff08;Just-In-Time&#xff09;编译器是Java虚拟机&#xff08;JVM&#xff09;的一个重要组成…

韩国 NEL动物医疗中心:犬二尖瓣修复术连获成功

“守护心脏的神之手” 在小型犬心脏疾病根本治疗&#xff08;犬心脏修复手术&#xff09;方面取得重大突破&#xff0c;已成功完成 16 例手术。 韩国 NEL动物医疗中心&#xff08;NEL ANIMAL MEDICAL CENTER&#xff09;严泰欽院长带领的心脏手术团队&#xff0c;为 16 只宠物…

Lumerical学习——分析工具(Analysis tools)

一、分析工具和模拟环境&#xff08;Analysis tools and the simulation environment&#xff09; 模拟计算完成后&#xff0c;模拟计算数据紧接着写到模拟工程文件中&#xff1b;甚至当模拟计算提前结束时计算得到的部分数据集也会写到文件中。当模拟完成后单击退出按钮、或者…

【行业观察】三折机不够看?苹果研发四折叠屏iPhone

随着智能手机市场的日益成熟&#xff0c;消费者对手机形态和功能的需求也在不断升级。近年来&#xff0c;折叠屏手机凭借其独特的形态和更大的显示面积&#xff0c;成为了市场的新宠。而在这场折叠屏手机的竞争中&#xff0c;苹果作为智能手机行业的领头羊&#xff0c;自然也不…