网站建设工作室07flywordpress 栏目分页

张小明 2026/1/16 8:03:37
网站建设工作室07fly,wordpress 栏目分页,网站建设需要的职位,安徽省建设厅执业资格注册中心网站(新卷,200分)- 最小传输时延Ⅱ#xff08;Java JS Python#xff09;题目描述有M*N的节点矩阵#xff0c;每个节点可以向8个方向#xff08;上、下、左、右及四个斜线方向#xff09;转发数据包#xff0c;每个节点转发时会消耗固定时延#xff0c;连续两个…(新卷,200分)- 最小传输时延ⅡJava JS Python题目描述有M*N的节点矩阵每个节点可以向8个方向上、下、左、右及四个斜线方向转发数据包每个节点转发时会消耗固定时延连续两个相同时延可以减少一个时延值即当有K个相同时延的节点连续转发时可以减少K- 1个时延值求左上角00开始转发数据包到右下角M-1N- 1并转发出的最短时延。输入描述第一行两个数字M、N接下来有M行每行有N个数据表示M* N的矩阵。输出描述最短时延值。用例输入3 30 2 21 2 12 2 1输出3说明无输入3 32 2 22 2 22 2 2输出4说明2 2 2 -3-1))题目解析本题是求两点之间的最短路径。对于最短路径问题最简单的求解思路就是BFS但是BFS只适用于处理无权图的最短路径。所谓无权图即图中各顶点之间的边没有权重或者可以理解为各相连顶点之间距离相同。对于有权图的最短路径求解有多种解题思路比如DijkstraFloyedBellma-fordSPFA。本题将使用SPFA算法来求解最短路径。所谓SPFA算法其实就是对无权图的BFS算法的优化。在无权图的BFS扩散过程中最先碰到终点的路径 一定是 最短路径因为这条路径从起点到终点经历的节点数最少而无权图中相连节点之间的距离是相同的因此路径中节点数越少距离就越短。在有权图中的BFS扩散过程中最先碰到终点的路径 不一定是 最短路径此时各节点之间的距离是不同的因此节点数少不能代表路径就短。关于SPFA算法可以看下这个视频讲解后面有时间会补充一篇博客。JavaScript算法源码const rl require(readline).createInterface({ input: process.stdin }); var iter rl[Symbol.asyncIterator](); const readline async () (await iter.next()).value; void (async function () { // 地图矩阵行数,列数 const [m, n] (await readline()).split( ).map(Number); // 地图矩阵 const matrix []; // 最短路径矩阵即dist[i][j]记录的是坐标(i,j)到(0,0)的最短距离 // 最短路径矩阵初始化假设每个点到(0,0)距离无穷大 const dist new Array(m).fill(0).map(() new Array(n).fill(Infinity)); for (let i 0; i m; i) { matrix.push((await readline()).split( ).map(Number)); } console.log(spfa(matrix, dist, m, n)); })(); // 八个方向偏移量 const offsets [ [-1, 0], [1, 0], [0, -1], [0, 1], [-1, -1], [-1, 1], [1, -1], [1, 1], ]; // 最短路径算法 function spfa(matrix, dist, m, n) { const queue [[0, 0]]; dist[0][0] matrix[0][0]; while (queue.length 0) { const [x, y] queue.shift(); for (let [offsetX, offsetY] of offsets) { const newX x offsetX; const newY y offsetY; if (newX 0 newX m newY 0 newY n) { let newDist dist[x][y] matrix[newX][newY]; // 题目说连续两个相同时延可以减少一个时延值 // 但是需要注意的是应该不能产生负的时延值比如前一个时延是0当前时延也是0则减少1个时延值不应该变为-1 if (matrix[newX][newY] matrix[x][y] matrix[x][y] 1) { newDist - 1; } if (newDist dist[newX][newY]) { dist[newX][newY] newDist; queue.push([newX, newY]); } } } } return dist[m - 1][n - 1]; }Java算法源码import java.util.LinkedList; import java.util.Scanner; public class Main { // 地图矩阵 static int[][] matrix; // 最短路径矩阵即dist[i][j]记录的是坐标(i,j)到(0,0)的最短距离 static int[][] dist; // 地图矩阵行数 static int m; // 地图矩阵列数 static int n; // 八个方向偏移量 static int[][] offsets {{-1, 0}, {1, 0}, {0, -1}, {0, 1}, {-1, -1}, {-1, 1}, {1, -1}, {1, 1}}; public static void main(String[] args) { Scanner sc new Scanner(System.in); m sc.nextInt(); n sc.nextInt(); matrix new int[m][n]; dist new int[m][n]; for (int i 0; i m; i) { for (int j 0; j n; j) { matrix[i][j] sc.nextInt(); // 最短路径矩阵初始化假设每个点到(0,0)距离无穷大 dist[i][j] Integer.MAX_VALUE; } } System.out.println(spfa()); } public static int spfa() { LinkedListint[] queue new LinkedList(); queue.add(new int[] {0, 0}); dist[0][0] matrix[0][0]; while (queue.size() 0) { int[] tmp queue.removeFirst(); int x tmp[0], y tmp[1]; for (int[] offset : offsets) { int newX x offset[0]; int newY y offset[1]; if (newX 0 newX m newY 0 newY n) { int newDist dist[x][y] matrix[newX][newY]; // 题目说连续两个相同时延可以减少一个时延值 // 但是需要注意的是应该不能产生负的时延值比如前一个时延是0当前时延也是0则减少1个时延值不应该变为-1 if (matrix[newX][newY] matrix[x][y] matrix[newX][newY] 1) { newDist - 1; } if (newDist dist[newX][newY]) { dist[newX][newY] newDist; queue.add(new int[] {newX, newY}); } } } } return dist[m - 1][n - 1]; } }Python算法源码import sys # 输入获取 m, n map(int, input().split()) matrix [list(map(int, input().split())) for i in range(m)] # 最短距离矩阵 dist [[sys.maxsize for _ in range(n)] for _ in range(m)] # 八个方向的偏移量 offsets ((-1, 0), (1, 0), (0, -1), (0, 1), (-1, -1), (-1, 1), (1, -1), (1, 1)) # 算法入口 def spfa(): queue [[0, 0]] dist[0][0] matrix[0][0] while len(queue) 0: x, y queue.pop(0) for offsetX, offsetY in offsets: newX x offsetX newY y offsetY if m newX 0 and n newY 0: newDist dist[x][y] matrix[newX][newY] if matrix[newX][newY] matrix[x][y] and matrix[newX][newY] 1: newDist - 1 if newDist dist[newX][newY]: dist[newX][newY] newDist queue.append([newX, newY]) return dist[m-1][n-1] # 算法调用 print(spfa())
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站设计提案怎么做网页版调查问卷

第一章:云Agent监控的核心概念与AZ-500考试关联云环境中的Agent监控是保障系统安全性、合规性与运行可见性的关键技术手段。在Microsoft Azure平台中,此类监控通常依赖于Azure Security Center(现为Microsoft Defender for Cloud)…

张小明 2026/1/15 22:03:40 网站建设

建立网站 费用网页制作实训心得

当量子计算机的阴影逐渐笼罩传统加密算法时,你是否曾思考过如何为数字安全构建量子防护盾?CRYSTALS-Kyber作为NIST认证的后量子加密标准,其纯Python实现为开发者提供了一个零门槛的探索入口。 【免费下载链接】kyber-py A pure python implem…

张小明 2026/1/14 15:06:32 网站建设

长春企业网站模板建站wordpress陶哲轩

Mac用户如何挂载服务器路径查看HeyGem生成内容? 在AI数字人视频生成的日常工作中,一个常见的场景是:你在Mac上通过浏览器操作部署于远程Linux服务器的HeyGem系统,完成一段口型同步视频的批量生成。点击“生成”后,任务…

张小明 2026/1/10 21:01:43 网站建设

装修网站平台有哪些破解wordpress可见

突破网盘限速!8大平台极速下载提速完全指南 🚀 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广&…

张小明 2026/1/11 2:35:11 网站建设

程序员做网站外快个人网站建设方案书

Docker image ls 列出所有本地 TensorFlow 镜像 在现代 AI 开发中,一个常见的困扰是:“为什么这段代码在我机器上跑得好好的,换台机器就报错?” 问题往往出在环境差异——Python 版本不一致、依赖库冲突、CUDA 驱动缺失……这些“…

张小明 2026/1/10 21:58:34 网站建设

苏州正规网站设计公司wordpress先使用

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 PYTHON游戏周边商城服务评分网站的设计与实现_pycharm django…

张小明 2026/1/10 21:13:15 网站建设