砝码系统
测试数据来自 system/3050
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
时间限制:1秒 内存限制:256M
【问题描述】
一套砝码系统有 \(N\) 种不同重量的砝码,用天枰称重时,砝码只能放在天平左侧的托盘上,且上至多放置 \(K\) 个砝码,那么该如何设计每种砝码的重量,才能得到一个最大的整数 \(Q\),使得 \(1..Q\) 之间的每一个重量都能称出来。
例如,\(N=2,K=3\),如果两种砝码的重量分别为 1 和 4,则在 1~6 之间的每一个重量都能称出来,虽然还能称出 8、9 和12,但 7 无法称出;如果重量分别为 1 和 3,则在 1~7 之间的每一个重量都能称出来。可以验证当 \(N=2,K=3\) 时,7 就是可以得到的连续的重量的最大值,所以 \(Q=7\),重量分别为 1 和 3。
【输入格式】
一行两个整数:\(N\) 和 \(K\),中间用一个空格分开 。
【输出格式】
输出两行,第一行 \(N\) 个整数,由小到大输出每种硬币的面值(字典序最小的方案)。第二行一个整数,表示 \(Q\) 的值。同行数据之间用一个空分分开。
【输入输出样例1】
Input
3 2
Output
1 3 4
8
【输入输出样例2】
Input
4 7
Output
1 5 24 37
165
【数据限制】
测试点 \(1~2\) 满足:\(K=1\) 或 \(N=1\) 且 \(N+K≤15\)。
测试点 \(3~6\) 满足:\(1≤N≤5\) 且 \(N+K≤15\)。
测试点 \(7~10\) 满足:\(N+K≤15\)。
【来源】
Mr.he