编程题
### 问题描述 有一支寻宝小分队出发寻找传说中失落的古城亚特兰蒂斯。他们在出发地得到了一张数字地图,地图上的有 $a_1,a_2,\dots,a_n$ 共 $n$ 个数字,每个数字代表一个地点,其中必定有两个数字 $a_i,a_j$ , $a_i$ 代表小队出发地, $a_j$ 代表亚特兰蒂斯。 小分队目前已知这张数字地图是如何制作出来的。亚特兰蒂斯人民首先记录下出发地的数字 $a_i$ 。对于代表某地点的数字 $x$ ,亚特兰蒂斯人民将选择以下操作之一得到下一个地点的数字 $y$ : - 将 $x$ 除以 $3$ (若选择此操作, $x$ 必须能被 $3$ 整除); - 将 $x$ 乘以 $2$ 。 每得到一个新数字 $y$ ,亚特兰蒂斯人民都会将它记录在数字地图上,并在继续对 $y$ 选择两个操作之一从而得到下一个数字。他们将会进行 $n-1$ 次操作,因而地图上将会记录下 $n$ 个数字,在第 $n-1$ 次操作后得到的数字即代表亚特兰蒂斯的数字 $a_j$ 。 然而,聪明的亚特兰蒂斯人民为了防止外敌入侵,他们将地图上的数字顺序打乱了。小分队请求你来还原数字被亚特兰蒂斯人民写下时的初始顺序,以帮助他们找到古城。 ### 输入格式 第一行包含一个整数 $n$ ,表示数字的个数。 第二行包含 $n$ 个整数 $a_1,a_2,\dots,a_n$ ,表示地图上被打乱顺序的 $n$ 个数字。 ### 输出格式 输出 $n$ 个整数,表示按正确顺序排列的数字(正确顺序为亚特兰蒂斯人民写下时的顺序)。 ### 样例输入 ``` 6 4 8 6 3 12 9 ``` ### 样例输出 ``` 9 3 6 12 4 8 ``` ### 评测数据规模 对于所有评测数据, $2\leq{n}\leq{100},1\leq{a_i}\leq{3\times 10^{18 }}$ 。
查看答案
赣ICP备20007335号-2