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

软件工程考研方向有哪些上海哪家优化公司好

软件工程考研方向有哪些,上海哪家优化公司好,泰安人才网档案查询,女装wordpress思路 这里每一个格子染色多了时间这一层限制,相当于图的每一边有了权重的限制,那么我们就不能直接用双向队列求最短路。而是使用优先队列。 规则是这样的:每一个节点可以多次入队,但是只有第一次出队有效。所以这次我们不会在加入…

在这里插入图片描述

思路

这里每一个格子染色多了时间这一层限制,相当于图的每一边有了权重的限制,那么我们就不能直接用双向队列求最短路。而是使用优先队列。
规则是这样的:每一个节点可以多次入队,但是只有第一次出队有效。所以这次我们不会在加入队列时更改标签vis,而是在出队时更改标签。如果在出队时发现vis已经更改,这说明这个元素以前出过队列(不是第一次出队),则直接continue

code

我们额外设置两个数组,vis标签数组用于判断是否出队,dis距离数组用于记录到达这个位置花费的最小时间

import os
import sys
from queue import PriorityQueue
INF = int(1e9)# 输入数据
n, m = map(int, input().split())
arr = [[0 for i in range(m+1)]]
for i in range(n):arr.append([0]+list(map(int,input().split())))# 初始化vis和dis
vis = [[0 for i in range(m+1)] for j in range(n+1)]
dis = [[INF for i in range(m+1)] for j in range(n+1)]
dis[1][1] = arr[1][1] # 对于起点,dis就是其染色时间
dq = PriorityQueue()
dq.put((dis[1][1],1,1)) # 出发点入队ans = 0
while not dq.empty():d, x, y = dq.get()ans = max(ans, d) # 每一次出队时加一个判断if vis[x][y] == 1:continue # 如果不是第一次出队,continuevis[x][y] = 1 # 是第一次出队,则标记for dx,dy in [(-1,0),(+1,0),(0,-1),(0,+1)]:nx,ny = x+dx, y+dyif 1<=nx<=n and 1<=ny<=m and vis[nx][ny]==0:dis[nx][ny] = min(dis[nx][ny], d + arr[nx][ny]) # 维护到这个点花费的最短时间距离dq.put((dis[nx][ny],nx,ny))
print(ans)
http://www.dtcms.com/wzjs/151618.html

相关文章:

  • 武汉比较大的做网站的公司黑帽seo排名技术
  • 西安市住房和城乡建设局门户网站游戏代理平台哪个好
  • 心悦俱乐部官方网站怎么做任务深圳seo优化外包公司
  • 51空间搜索引擎优化的特点
  • 做视频网站每部电影都要版权2023年8月份新冠
  • 机械模板网站推广软文代发
  • 企业建设网站的方式有哪些百度搜索竞价排名
  • linux 如何做网站描述建设一个网站的具体步骤
  • 建论坛网站平台推广费用
  • 软文推广做的比较好的推广平台深圳网站设计知名乐云seo
  • 聊城网站设计公司唐山seo排名外包
  • 网站建设公司模版鹤壁网站seo
  • 龙口建设网站营销培训课程2022
  • dedecms做中英文网站东莞seo排名优化
  • 青岛专业网站制作清远今日头条新闻
  • 滁州网站建设百度网页高级搜索
  • 福永网站推广商旅平台app下载
  • 做网站设计的平台上海百度推广公司
  • 商业网站首页怎么做百度有哪些app产品
  • wordpress 相册浏览器google seo实战教程
  • 东莞网站建设企业响应式网站建设
  • 长春比较有名的做网站建设工具大全
  • 广告公司网站源码最近爆发什么病毒感染
  • 东莞外贸网站建设开发苏州百度推广开户
  • 一级a做爰网站中国百度关键词热度排名
  • 集团培训网站建设关键词搜索技巧
  • 老的网站为什么要改版新网站国外b站浏览器
  • 福州网站搭建白帽优化关键词排名seo
  • 廊坊网站建设公司费用优化关键词的方法
  • 秦皇岛做网站多少钱键词优化排名