测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70641. 骑士巡游

编程题 基础

题目描述

马在中国象棋以日字形规则移动,给定 n \times m 大小的棋盘,以及马的初始位置 (x,y) 和目标位置 (s,t),要求不能重复经过棋盘上的同一个点,计算马至少走多少步可以到达目标位置,所有棋盘保证从初始位置到结束位置一定有路径可达。

输入格式

测试数据包含一行,为六个整数,分别为棋盘的大小以及初始位置坐标 n,m,x,y,s,t 。( 1 \le x,s \le n \le 51 \le y,t \le m \le 5

输出格式

包含一行,为一个整数,表示马能到达目标位置的最小步数。

输入输出样例

输入 #1
3 3 1 1 1 3
输出 #1
2

说明/提示

## 思路

网格最短路用 BFS:队列扩展四方向,第一次到达终点的步数即最短。

## 步骤

1. 读入地图与起终点。
2. BFS 扩展,记录步数与访问标记。
3. 输出最短步数或路径。