#1187. [NOI2015] 程序自动分析
[NOI2015] 程序自动分析
题目描述
在程序自动分析中,需要检查一批约束能否同时成立。这里考虑只涉及相等和不等关系的情形。用 表示程序里的变量。给定 个约束,每一个形如 或 。是否能给各变量赋值,使所有约束都满足?
例如,若要求 、、,同时又要求 ,则前三个条件已强制 和 相等,与最后一个条件矛盾。
输入中会给出若干个这样的约束问题,请分别作出判断。
输入格式
第一行输入正整数 ,表示需要分别判断的独立问题个数。
每个问题的首行是正整数 ,表示这一组的约束数。随后的 行分别给出三个整数 ,相邻整数用一个空格隔开。当 时约束为 ,当 时约束为 。
输出格式
共输出 行。第 行对应第 个问题。若可以同时满足该组的全部约束,输出大写的 YES,否则输出大写的 NO。
2
2
1 2 1
1 2 0
2
1 2 1
2 1 1
NO
YES
2
3
1 2 1
2 3 1
3 1 1
4
1 2 1
2 3 1
3 4 1
1 4 0
YES
NO
说明/提示
样例 1
第一组同时要求 和 ,两条约束彼此冲突。第二组两次要求相同的两个变量相等,让它们取同一个值即可。
样例 2
第一组要求 、 和 。把三个变量都赋予同一个值,三条约束就全部成立。第二组先给出 、、,由此已经有 。最后又要求 ,因此无解。
数据范围
原题各测试点的约定见下表。各档均有 且 。
| 原题测试点编号 | 每组的约束数 | 变量编号 |
|---|---|---|
| 1、2 | ||
| 3、4 | ||
| 5、6、7 | ||
| 8、9、10 |