#agc031c. [agc031_c]Differ by 1 Bit
[agc031_c]Differ by 1 Bit
题目描述
给定整数 、 和 。判断是否存在一个排列 ,满足以下条件,并创建一个满足条件的排列。
- 对于所有 , 和 的二进制表示中仅有一个位不同。
约束条件
- 输入中的所有值都是整数。
输入
输入通过标准输入给出,格式如下:
输出
如果不存在满足条件的排列,打印 NO
。
如果存在满足条件的排列,第一行打印 YES
。然后,第二行打印 ,之间用空格隔开。如果有多个解,任何一个都可以接受。
示例输入 1
2 1 3
示例输出 1
YES
1 0 2 3
排列 的二进制表示为 ,其中任意相邻的元素恰好有一个不同的位。
示例输入 2
3 2 1
示例输出 2
NO