#ATarc138d. [ARC138D] Differ by K bits
[ARC138D] Differ by K bits
题目描述
给定整数 。请判断是否存在一个 的排列 ,使其满足以下条件,并在存在时构造出一个这样的排列。注意, 的下标从 开始。
- 对于所有 (), 和 在二进制表示下恰好有 位不同。比较时需将二者都补齐前导 使其长度为 位。
输入格式
输入从标准输入中给出,格式如下:
输出格式
如果不存在满足条件的 ,输出 No。如果存在,输出如下格式的答案:
Yes
如果有多个满足条件的解,输出任意一个均可。
样例 1
输入
3 1
输出
Yes
0 1 3 2 6 7 5 4
样例 2
输入
2 2
输出
No
说明/提示
限制
- 所有输入值均为整数
样例解释 1
将 用二进制表示为 。例如 ,它们恰好有 位不同,因此对于 条件成立。对所有 也都满足条件。
由 ChatGPT 4.1 翻译