5173: 大佬的高级IDLE

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:120 解决:38

题目描述

某厉害的大佬,自己写了个高级的IDLE。它能帮助这位大佬检测一些变量的赋值是否符合逻辑。
大佬编程时,程序中出现了一些变量(x1, x2, x3, ··· ),并且有 n 个形如 xi = xj 或 xi ≠ xj 的变量相等/不想等的约束条件。
这个IDLE能够自动判断是否可以分别给每一个变量赋予一个恰当的值,使得这 n 个条件能够同时被满足。
例如,一次编程时,约束条件为:x1 = x2, x2 = x3, x3 = x4, x1 ≠ x4
显然这些条件无法同时被满足,因此IDLE会报错"CANNOT"。否则会提示"OK"。
现给定一些约束条件,请分别判断IDLE会提示什么。



输入

第1行包含1个正整数N,表示大佬的N个代码。注意这些代码之间是相互独立的。
对于每个代码,包含若干行:
第1行包含1个正整数n,表示该代码中出现的约束条件的个数。
接下来n行,每行包括3个整数 u, v, op,描述1个相等/不等的约束条件,相邻整数之间用单个空格隔开。若 op = 1 ,则该约束条件为 xu = xv ;若 op = 0 ,则该约束条件为 xu ≠ xv 。

数据范围:
1 ≤ ∑n ≤ 100000
1 ≤ u ,v ≤ 1000000000



输出

包括N行,代表大佬的N个代码。
第i行输出一个字符串"CANNOT"或"OK",(不包含引号,字母全大写),"CANNOT"表示给定的n个约束条件不能被同时满足,"OK"表示可以被同时满足

样例输入 复制

2
2
1 2 1
1 2 0
2
1 2 1
2 1 1

样例输出 复制

CANNOT
OK

提示

在第一个问题中,约束条件为:x1=x2,x1≠x2。这两个约束条件互相矛盾,因此不可被同时满足。
在第二个问题中,约束条件为:x1=x2,x2=x1。这两个约束条件是等价的,可以被同时满足。

题解点我