当前位置: 首页 > news >正文

合理建模--最短路径

这道题目难就难在如何想到用最短路径来做
主要是这个题目不能用bfs来写,因为距离并不是1
狄克斯特拉算法很久没写了,有些地方生疏了
且这个题目需要记录三个信息,得用tuple


题目地址

在这里插入图片描述

    int dx[] = {0,0,1,-1};
    int dy[] = {1,-1,0,0};
class Solution {
public:
    int minTimeToReach(vector<vector<int>>& moveTime) {
        int n = moveTime.size(); int m = moveTime[0].size();
        vector<vector<int>> dis (n,vector<int> (m,0x3f3f3f3f));
        priority_queue<tuple<int,int,int>,vector<tuple<int,int,int>>,greater<>> q;
        q.emplace(0,0,0);
        while(q.size()){
            auto [d,i,j] = q.top(); q.pop();
            if(i==n-1 && j == m-1){
                return d;
            }
            if(dis[i][j]!=0x3f3f3f3f) continue;
            for(int k=0;k<4;k++){
                int x = i+dx[k], y = j + dy[k];
                if(x<0 || x >= n || y <0 || y>=m) continue;
                int now = max(d,moveTime[x][y]) + 1;
                if(now<dis[x][y]){
                    dis[x][y] = now;
                    q.emplace(now,x,y);
                }
            }
        }
        return -1;
    }

};

相关文章:

  • open webui 部署 以及解决,首屏加载缓慢,nginx反向代理访问404,WebSocket后端服务器链接失败等问题
  • 《机器学习实战》专栏 No12:项目实战—端到端的机器学习项目Kaggle糖尿病预测
  • 第十五届蓝桥杯:爬山
  • 物联网+人工智能的无限可能
  • 多线程和并发篇
  • 我使用windows笔记本通过远程桌面连接连接linux服务器,但是远程桌面连接显示“未启动对服务器的远程访问”,我应该怎么做才能使用笔记本连接服务器呢?
  • Python爬虫系列教程之第十四篇:爬虫项目部署、调度与监控系统
  • MCU Bootloader具备什么条件才能跳转到APP程序
  • C++ ——异常
  • 【目标检测】【BiFPN】EfficientDet:Scalable and Efficient Object Detection
  • spring 狂神说的详细笔记(完整版)
  • 30. 串联所有单词的子串
  • My first Android application
  • 知识蒸馏知识点
  • C#初级教程(1)——C# 与.NET 框架:探索微软平台编程的强大组合
  • 人工智能之数学基础:深入解析与应用线性空间中的基
  • 嵌入式之PWM
  • 【文件夹合并——树链剖分,树状数组】
  • Java爬虫获取亚马逊商品信息:按关键字搜索的实战指南
  • HarmonyOS NEXT技术全景与未来趋势指南(API12+)
  • 中国制造网外贸站/建设网站
  • 做家具的外国网站/免费平台
  • 文化传媒有限公司网站建设/seo多久可以学会
  • 知道抖音视频是怎么做的网站嘛/培训机构哪家好
  • html5移动网站开发实例/怎么做好网络营销
  • 建立应用网站/市场营销方案怎么写