#3909. 卡图难题

卡图难题

题目描述

NN 个变量X0XN1 X_0∼X_{N−1},每个变量的可能取值为 0 或 1。

给定M M 个算式,每个算式形如 Xa op Xb=cX_a op X_b=c,其中 a,ba,b 是变量编号,cc 是数字 0 或 1,opopAND,OR,XORAND,OR,XOR 三个位运算之一。

求是否存在对每个变量的合法赋值,使所有算式都成立。

输入格式

第一行包含两个整数N NMM

接下来 MM 行,每行包含三个整数a,b,c a,b,c,以及一个位运算(AND,OR,XORAND,OR,XOR 中的一个)。

输出格式

输出结果,如果存在,输出 YES,否则输出 NO

样例

4 4
0 1 1 AND
1 2 1 OR
3 2 0 AND
3 0 0 XOR
YES

数据范围

1N1000,1M1061≤N≤1000,1≤M≤10^6

来源

  • 算法竞赛进阶指南