#5180. XOR Neighbors
0
XOR Neighbors
XOR Neighbors
题目描述
你被给予一个包含 ) 个顶点和 条边的简单无向图。第 条边在顶点 和 之间双向连接。 判断是否存在一种方法,在图的每个顶点上写一个介于 到 (含)之间的整数,使得满足以下条件:
对于每个度数至少为 的顶点 ,其相邻顶点上所写数字的全部 XOR(不包含 本身)为 。
什么是 XOR?
两个非负整数 和 的 XOR,记作 ,定义如下:
在 的二进制表示中,位置为 的位为 当且仅当 和 的二进制表示在该位置的位恰好有一个为 。否则,该位为 。
例如,(二进制:)。
一般地, 个整数 的逐位 XOR 定义为 $(\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k)$。可以证明这与 的顺序无关。
输入格式
输入从标准输入按以下格式给出:
输出格式
如果不存在满足条件的写法,输出 。 否则,令 为写在顶点 上的整数,并按以下格式输出一个解。如果存在多个解,任意一个均可接受。 Yes
3 3
1 2
1 3
2 3
Yes
4 4 4
2 1
1 2
No
1 0
Yes
1
4 5
1 2
1 3
2 3
2 4
3 4
Yes
12 4 4 8
提示
1 \leq u_i < v_i \leq N
当 。
所有输入值均为整数。其它可接受的解包括写成 或 。
可以写任意介于 到 之间的整数。
标签: AtCoder|abc366G
来源
AtCoder|abc366G