#P16989. [Ural2200]He is not a knight for you 2
[Ural2200]He is not a knight for you 2
题目描述
Igor 是一名国际象棋棋手。一次训练结束后,他和搭档决定只使用一个骑士来玩,不过这次不是在一张棋盘上,而是在若干张棋盘上同时进行。
国际象棋中的骑士每次走一个“L”形:沿一个坐标方向移动 格,同时沿另一个坐标方向移动 格。因此一次移动的坐标变化为 或 。
一张带有正方形网格的长方形桌面上放置了 张棋盘。每张棋盘都是一个边长均不少于 格的轴对齐矩形,棋盘的四条边与桌面的网格线平行,四个顶点都位于整数格点上。
任意两张棋盘之间都互不接触:它们既不能有公共边,也不能只在一个角上接触。
以桌面中心为坐标原点,所有出现的坐标绝对值都不超过 。
Igor 把骑士放在某张棋盘的一个格子中。骑士可以不断按照正常的国际象棋骑士走法移动:
- 可以在同一张棋盘内部移动;
- 如果一次骑士移动能够直接从一张棋盘的某个格子跳到另一张棋盘的某个格子,也允许在棋盘之间移动;
- 可以重复经过已经访问过的格子和棋盘。
请计算骑士最终能够访问多少张不同的棋盘,包括起始棋盘。
输入格式
第一行包含两个整数 :
- ;
- 。
第二行包含两个整数 ,表示骑士初始所在格子的左下角坐标,其中 。
接下来 行,每行包含四个整数 ,描述第 张棋盘:
- 为棋盘左下角坐标;
- 为棋盘右上角坐标;
- ;
- ;
- ;
- 。
保证任意两张棋盘既不重叠也不接触,甚至不能只在角上接触。
还保证骑士的初始格子位于某张棋盘上,即存在某个 满足:
且 。
输出格式
输出一个整数,表示骑士能够访问到的不同棋盘数量,包括起始棋盘。
样例 1
4 12
0 0
0 0 3 3
5 0 8 3
0 4 8 7
9 8 12 11
3
样例 2
2 10
-1 -1
-2 -2 1 1
-2 2 1 5
1