#ABC366G. 异或邻居
异或邻居
异或邻居
题目描述
给定一个具有 个顶点、 条边的简单无向图。第 条边双向连接顶点 和 。
请判断是否存在一种方式,在图的每个顶点上写入一个介于 到 之间的整数,使得满足以下条件:
对于每个度数至少为 的顶点 ,其所有相邻顶点(不包括 本身)上写入的整数的总异或为 。
关于异或
两个非负整数 和 的异或,记为 ,定义如下:
在 的二进制表示中,第 ()位的数字为 ,当且仅当 和 的二进制表示中第 位的数字恰好有一个是 ;否则为 。
例如,(二进制:)。
一般来说, 个整数 的按位异或定义为 $(\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k)$。可以证明,这个结果与 的顺序无关。
输入格式
输入按以下格式从标准输入给出:
输出格式
如果不存在满足条件的写入方式,输出 No。
否则,设顶点 上写入的整数为 ,按以下格式输出你的方案。如果存在多种方案,输出其中任意一种即可。
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
数据范围
- 对于 ,有 。
- 所有输入值均为整数。
提示
答案不唯一,输出任意合法解即可。
难度
省选/NOI-
通过率
—
尝试
0
已通过
0
- ID
- 3388
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者