QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 2048 MB مجموع النقاط: 100

#1968. 科幻小说

الإحصائيات

艺术和文学一直受到科学的影响。例如,这在克里斯托弗·诺兰(Christopher Nolan)的电影中有所体现。但是,有一位科学家正在基于科幻小说中的假设进行研究。

Khosro 博士是一位理论物理学家,他受艾萨克·阿西莫夫(Isaac Asimov)小说的启发,正在研究高维平行世界。在他的研究过程中,他需要一种方法来对他虚构的高维行星网络进行排序。在 Khosro 博士虚构的 $n$ 维世界中,有 $2^n$ 颗行星以及连接它们的虫洞网络。该网络类似于一个 $n$ 维超立方体。行星编号为小于 $2^n$ 的非负整数,当且仅当 $a$ 和 $b$ 的 $n$ 位二进制表示在恰好一个位上不同时,行星 $a$ 和行星 $b$ 之间存在一个虫洞。在 Khosro 博士的模型中,每颗行星上都写有一个数字,我们仅当两颗行星之间存在直接虫洞时,才能交换它们上面的数字。给定每颗行星上写的数字,请构造一个有效的交换序列,使得数字序列按从小到大的顺序排列。形式化地说,如果行星编号 $i$ ($0 \leqslant i < 2^n$) 上写的数字记为 $a_i$,你需要构造一个有效的成对交换序列,使得序列 $a = \langle a_0, a_1, \dots, a_{2^n-1} \rangle$ 变为递增顺序。

输入格式

第一行包含一个整数 $n$ ($1 \leqslant n \leqslant 10$),表示 Khosro 博士虚构世界的维度。下一行包含 $2^n$ 个不同的整数,表示 $a_0, a_1, \dots, a_{2^n-1}$ ($0 \leqslant a_i \leqslant 10^6$)。

输出格式

在第一行输出交换的次数。如果该数字为非负数且小于 $12\,000$,则你的答案将被视为正确。随后在接下来的行中,输出交换序列。在你的解法中,每次交换必须在有直接虫洞连接的两颗行星之间进行。

样例

样例输入 1

2
3 2 10 4

样例输出 1

2
0 1
2 3

样例输入 2

1
10 100

样例输出 2

0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.