Jory爱跑步
题目描述:
众所周知,Jory 很喜欢跑步,他现在在教室里跑步。
可以把教室分为 n 行 m 列个小格子,Jory 会从其中的某一格开始沿某一特定方向跑步。但是因为他不想跑到已经跑过的格子上,所以如果碰到了边界或者下一步会跑到已经跑过的格子上,那他就会右转90度。
虽然 Jory 很喜欢跑步,但是这样他显然有可能不能经过所有的格子,所以他来向聪明的你求助,如果他从第 x 行 y 列的格子开始沿某一方向跑,能不能经过所有的格子。
共有 q 次询问。
输入格式:
第一行三个正整数 n ,m,q ,分别代表教室格子共有 n 行 m 列,以及共有 q 个询问。
后 q 行,每行三个正整数 x,y,d ,分别代表从第 x 行 y 列的格子出发和出发时的方向。
d=1,2,3,4 时分别表示向右,下,左,上。
输出格式:
对于每个询问,输出"YE5"表示可以经过每个格子,"N0"表示不行。
数据范围:
对于30%的数据:1≤n,m≤10 , q=4nm
对于另10%的数据:n=2
对于另20%的数据:n=4
对于100%的数据:1≤n,m≤109 , 1≤q≤104
(建议使用O(1)的算法进行判断)
样例输入:
3 3 2 1 1 1 2 3 1
样例输出:
YE5 N0
提示:
注意到hzr会一直转弯直到可以向前跑为止。
样例中,对于第一个询问,路径如下图:
(数字表示第几个经过该格子,0表示无法经过)
1 | 2 | 3 |
8 | 9 | 4 |
7 | 6 | 5 |
对于第二个询问:
6 | 7 | 8 |
5 | 0 | 1 |
4 | 3 | 2 |
空间限制: 256MB
来源: diefish