#codethanksfestival14qualbe. [code_thanks_festival_14_qualb_e]マスゲーム
[code_thanks_festival_14_qualb_e]マスゲーム
问题描述
有一个二维网格棋盘,纵向长度为 ,横向长度为 。棋盘的最左上角格子坐标为 ,最右下角格子坐标为 。
在这个棋盘上进行以下操作 次:
- 将一个长方形区域内的所有格子涂黑。具体地,给定 ,表示起始左上角格子的坐标为 ,涂黑一个矩形区域,该区域包含高度为 的列和宽度为 的行,共涂黑 个格子。
你喜欢黑色,现在你在棋盘上某个位置,希望能够沿着黑格子移动到另一个位置。你可以自由地向上下左右四个方向移动一步,但不能移出棋盘。
给定起点格子的坐标 ,终点格子的坐标 ,以及若干次操作,判断能否从起点格子移动到终点格子,且移动过程中只经过黑格子。如果可以,输出 YES
,否则输出 NO
。
输入
输入以以下格式从标准输入中给出。
:
- 第一行包含两个整数,分别表示棋盘的纵向长度和横向长度,用空格分隔。保证 。
- 第二行包含两个整数,表示起点格子的坐标 ,用空格分隔。保证 ,。
- 第三行包含两个整数,表示终点格子的坐标 ,用空格分隔。保证 ,。
- 第四行包含一个整数 ,表示操作的次数。保证 。
- 接下来的 行每行包含四个整数,分别表示一个长方形区域的 。每行的四个整数之间用空格分隔。保证 ,,,。
- 起点格子和终点格子均不相同,即 。
输出
输出要求按照问题描述,输出 YES
或者 NO
,并在末尾换行。
示例1
4 5
2 2
3 5
2
2 2 1 4
3 5 2 1
输出示例1
YES
将白格子用 .
表示,黑格子用 #
表示,操作后的棋盘如下:
.....
.####
....#
....#
起点用 S
表示,终点用 G
表示,位置关系如下:
.....
.S...
....G
.....
示例2
4 5
1 2
2 2
2
1 1 1 5
1 1 4 1
输出示例2
NO
示例3
4 5
1 1
1 3
3
1 1 1 1
1 2 1 1
1 3 1 1
输出示例3
YES
示例4
1 5
1 1
1 2
1
1 3 1 2
输出示例4
NO
示例5
1 5
1 3
1 2
1
1 3 1 2
输出示例5
NO
示例6
48 48
1 1
48 48
1
1 1 48 48
输出示例6
YES