已结束 黑龙江工程学院第六届(2025)新生程序设计赛

A6499 | Alice是宝可梦

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

Alice是一种宝可梦的名字,小智孵蛋孵出了一堆Alice,他要带一只Alice进她的队伍,让Alice参加宝可梦对战,成为宝可梦大师。只不过Alice这种宝可梦不会进化,我们还是希望Alice往上进化一段,变个Alice侠、Ali桥ce之类的。
但是小智不知道这些Alice掌握什么技能,于是他拿出宝可梦图鉴,对每只Alice逐个检查。
宝可梦图鉴会把这只Alice掌握的所有技能抽象成一个整数。然后根据这个整数的每一个二进制位来分析这只Alice会技能的情况,如果这个二进制位是 $1$ 则代表这只Alice掌握这个技能,是 $0$ 则代表这只Alice没有掌握这项技能。
注意Alice是个宝可梦,所以Alice不应该掌握 $4$ 种以上的技能,也不应该一个都技能不会。

输入格式

$n+1$ 行,第一行是整数 $n$ ( $1\le n\le 10^3$ ) ,表示有多少Alice这种宝可梦。
接下来的每一行一个正整数 $\mathbf s$ ( $1\le s\le 2^{64}-1$ ) ,表示这一只Alice掌握技能的情况。

输出格式

$n$ 行
第一行是Alice掌握的所有技能的二进制位对应的十进制数,按照从小到大输出。(每个数字后用一个空格做分割)
如果Alice掌握的技能超过 $4$ 种或者一种技能都没掌握,则只输出一行 $-1$ 。

输入输出样例

输入 #1
2
588
589
输出 #1
4 8 64 512 
-1
C++ 编辑器
输入
输出