华为OD机试真题 新系统 2026-07-08 PythonJS 实现【迷宫相遇】
目录题目思路Code题目题目内容:一个封闭迷宫有 n 个房间,编号为 0 到 n-1,相邻房间由双向门连接。玩家 A 可以自由移动,玩家 B 沿给定路径来回巡逻。请为玩家 A 选择最优移动策略,使 A 和 B 在最少回合后相遇。注意:A 和 B 初始出发点不同。规则:每回合,A 可以移动到相邻房间,也可以停留在当前房间。B 按给定路径循环移动:从起点开始,每回合移动到路径下一个位置;到达路径末端后折返,回到起点后再折返,如此循环往复。B 在端点处不额外停留。例如单程路径 [0,1,2],B 的完整位置序列为 [0,1,2,1,0,1,2,1,...]。A 和 B 在某回合结束后位于同一房间,视为相遇。输入描述:输入为一行字符串,格式为:n,edges,startA,patrolPathn 表示房间数量,1 n 100。edges 表示房间连接关系,是 int 型二维数组,例如 [[0,1],[1,2],[2,3],[3,4]],表示双向连通;空数组 [] 表示没有连接。startA 表示 A 的初始房间编号。patrolPath 表示 B 的巡逻路径,即一次单程路径,例如 [0,1,2] 表示 B 从 0 出发,经过 1 到达 2,然后原路返回。patrolPath 至少包含一个元素,只有一个元素时表示 B 原地不动。输出描