logo AlgoBeat OnlineJudge
登录 注册

#10120. 国际象棋跳马2

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: AlgoBeat 官方账号

题目描述

感谢 @tanghaocheng 提供了本题的数据!

其中测试点 数据!


给定一个 的国际象棋棋盘,棋盘上有一个骑士,骑士单步可以走一个日子形。

严谨地说,假如骑士当前坐标为 ,走一步可以到达的坐标是 ,当然,骑士不能走到棋盘外。

棋盘上还有可能有一个皇后,皇后单步可以走横向,纵向,两个斜对角共 种方向,可以走任意多格。

给出骑士的起点和终点坐标,如果有皇后,给出皇后坐标。要求骑士使用尽可能少的步数从起点走到终点。皇后始终保持不动,但是只要在任何时刻,骑士在皇后的攻击范围内(包括起点和终点),皇后就会立刻吃掉骑士。所以骑士要么避开皇后的攻击范围,要么先走到皇后的坐标位置吃掉皇后,之后方可畅通无阻。

问骑士至少要花多少步才能从起点安全走到终点。

输入格式

第一行输入两个整数 ,表示骑士初始坐标,用空格隔开。

第二行输入两个整数 ,表示骑士终止坐标,用空格隔开。

第三行输入两个整数 ,表示皇后坐标,用空格隔开,若为 ,表示不存在皇后。

输出格式

输出一个整数,即骑士走的步数的最小值。若骑士无法安全抵达终点,输出 -1

样例

输入输出样例 #1

输入 #1

1 1
2 3
0 0

输出 #1

1

输入输出样例 #2

输入 #2

1 1
2 3
3 2

输出 #2

3

数据范围与提示

对于 的数据,保证不存在皇后。

对于 的数据,保证