#P005787. 过河卒

    ID: 5787 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>25-4-B组月赛T2广度优先搜索BFS入门广搜

过河卒

当前没有测试数据。

题目描述

棋盘上有一个过河卒,它需要从起点走到终点。这个过河卒的行走方式比较特殊:它可以像国际象棋中的"马"那样走"日"字。

棋盘是一个 N×NN \times N 的网格,坐标从 (1,1)(1,1)(N,N)(N,N)。过河卒从起点 (sx,sy)(sx, sy) 出发,要到达终点 (ex,ey)(ex, ey)

过河卒每次可以移动到以下 88 个位置之一(如果目标位置在棋盘内):

  • (x2,y1)(x-2, y-1), (x2,y+1)(x-2, y+1)
  • (x1,y2)(x-1, y-2), (x1,y+2)(x-1, y+2)
  • (x+1,y2)(x+1, y-2), (x+1,y+2)(x+1, y+2)
  • (x+2,y1)(x+2, y-1), (x+2,y+1)(x+2, y+1)

请计算过河卒从起点到终点最少需要多少步?如果无法到达终点,输出 1-1

输入格式

第一行输入一个整数 NN,表示棋盘大小。

第二行输入四个整数 sx,sy,ex,eysx, sy, ex, ey,分别表示起点的行、列坐标和终点的行、列坐标。

输出格式

输出一个整数,表示最少步数;如果无法到达,输出 1-1

样例 #1

输入

8
1 1 5 5

输出

4

样例 #2

输入

5
1 1 4 4

输出

2

数据范围

对于 100%100\% 的数据,3N1003 \le N \le 1001sx,sy,ex,eyN1 \le sx, sy, ex, ey \le N,起点和终点不同。