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  
时间限制: 2000ms
空间限制: 256MB

来源: diefish