题目描述
描述:设 p1,p2,…,pn 为平面上的 n 个点。我们有 m 条形式为 pi rel pj 的规则,每条规则都告诉我们,rel 关系在平面上点 pi 和 pj 的位置之间成立。例如,“pi NE pj” 表示点 pj 位于点 pi 的东北部。有八个不同的关系 {N, E, S, W, NE, NW, SE, SW},对应于平面上的八个方向。设 (xi,yi) 和 (xj,yj) 分别为 pi 和 pj 的坐标。那么 pi rel pj 恰好表示以下之一,具体取决于 rel 的值:
- N 代表北方。这意味着 xj=xi 且 yj>yi,
- E 代表东方。这意味着 xj>xi 且 yj=yi,
- S 代表南方。这意味着 xj=xi 且 yj<yi,
- W 代表西方。这意味着 xj<xi 且 yj=yi,
- NE 代表东北。这意味着 xj>xi 且 yj>yi,
- NW 代表西北。这意味着 xj<xi 且 yj>yi,
- SE 代表东南。这意味着 xj>xi 且 yj<yi,
- SW 代表西南。这意味着 xj<xi 且 yj<yi。
问题在于确定是否可以在平面上找到 p1、p2、…、pn,以便所有给定的规则得到满足。
输入
输入的第一行包含一个整数 t (1≤t≤20),这是输入中的测试用例数。每个测试用例的第一行包含两个整数 n (2≤n≤500) 和规则数 m (1≤m≤10000)。在以下每一 m 行中,都有一个形式为 i rel j 的规则,这意味着 pi 与 pj 具有关系 rel。
输出
输出包含每个测试用例的一行,其中包含一个单词 POSSIBLE 或 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]