#P2883. Points

Points

题目描述

描述:设 p1p_1p2p_2\dotspnp_n 为平面上的 nn 个点。我们有 mm 条形式为 pi rel pjp_i \text{ rel } p_j 的规则,每条规则都告诉我们,rel\text{rel} 关系在平面上点 pip_ipjp_j 的位置之间成立。例如,“pi NE pjp_i \text{ NE } p_j” 表示点 pjp_j 位于点 pip_i 的东北部。有八个不同的关系 {N, E, S, W, NE, NW, SE, SW}\{\text{N, E, S, W, NE, NW, SE, SW}\},对应于平面上的八个方向。设 (xi,yi)(x_i, y_i)(xj,yj)(x_j, y_j) 分别为 pip_ipjp_j 的坐标。那么 pi rel pjp_i \text{ rel } p_j 恰好表示以下之一,具体取决于 rel\text{rel} 的值:

  • N\text{N} 代表北方。这意味着 xj=xix_j = x_iyj>yiy_j > y_i
  • E\text{E} 代表东方。这意味着 xj>xix_j > x_iyj=yiy_j = y_i
  • S\text{S} 代表南方。这意味着 xj=xix_j = x_iyj<yiy_j < y_i
  • W\text{W} 代表西方。这意味着 xj<xix_j < x_iyj=yiy_j = y_i
  • NE\text{NE} 代表东北。这意味着 xj>xix_j > x_iyj>yiy_j > y_i
  • NW\text{NW} 代表西北。这意味着 xj<xix_j < x_iyj>yiy_j > y_i
  • SE\text{SE} 代表东南。这意味着 xj>xix_j > x_iyj<yiy_j < y_i
  • SW\text{SW} 代表西南。这意味着 xj<xix_j < x_iyj<yiy_j < y_i

问题在于确定是否可以在平面上找到 p1p_1p2p_2\dotspnp_n,以便所有给定的规则得到满足。

输入

输入的第一行包含一个整数 tt (1t201 \leq t \leq 20),这是输入中的测试用例数。每个测试用例的第一行包含两个整数 nn (2n5002 \leq n \leq 500) 和规则数 mm (1m100001 \leq m \leq 10000)。在以下每一 mm 行中,都有一个形式为 i rel ji \text{ rel } j 的规则,这意味着 pip_ipjp_j 具有关系 rel\text{rel}

输出

输出包含每个测试用例的一行,其中包含一个单词 POSSIBLE\text{POSSIBLE}IMPOSSIBLE\text{IMPOSSIBLE},指示测试用例中的点集是否可以根据给定规则位于平面上。

输入数据

1
2 3
2 1 N
2 2 N
1 6 6
1 E 2
1 E 3
2 N 3
4 NW 3
5 SW 4
6 NE 5

输出数据

1
IMPOSSIBLE
POSSIBLE

源于

德黑兰 2004 [Tehran]