#CSPJ2020T1. 2020 T1 优秀的拆分
2020 T1 优秀的拆分
2020 T1 优秀的拆分
主知识点:枚举与数学。交叉标签:位运算、枚举、数学。
暴力标注:不属于重点 DP 退路题。
OJ 使用标准输入与标准输出。原比赛文件名为power.in/power.out;下方如保留原文件约定,以本句的 OJ 约定为准。
时限 1 秒;内存 256 MiB;测试点 20;总分 100。
数据来源:公开存档数据;未逐文件对照官网下载包。
题目描述
判断正整数 能否写成若干个互不相同的 的正整数次幂之和。若可以,按从大到小输出这些数;否则输出 -1。指数必须为正,因此数 1 不允许作为一项。
输入格式
输入只有一行,一个整数 ,代表需要判断的数。
输出格式
如果这个数的所有拆分中,存在优秀的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。
若不存在优秀的拆分,输出 -1。
样例
样例 1
输入:
6
输出:
4 2
样例 2
输入:
7
输出:
-1
样例 3
输入:
126
输出:
64 32 16 8 4 2
数据范围与特殊性质
-
对于 的数据,。
-
对于另外 的数据,保证 为奇数。
-
对于另外 的数据,保证 为 的正整数次幂。
-
对于 的数据,。
-
对于 的数据,。
附加样例
本题的公开样例整理在对应的“样例”ZIP 中。样例不计入评测测试点;题面中的样例也已保留。
来源与整理说明
题目原作者/发布者:中国计算机学会 CCF / NOI。题意经过改写,保留公式、输入输出、样例及约束;知识点和暴力标注为本次整理补充。
- 题面及约束校对来源:洛谷 CCF_NOI 题目 P7071
- 赛事:CSP-J 第二轮入门级 2020。
- 详细数据来源、版本和哈希见总包
来源与校验/manifest.json。