I. Addition Chains

    Type: Default 1000ms 256MiB

Addition Chains

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Addition Chains

题目描述

一个与 nn 有关的整数加成序列 <a0,a1,a2,...,am><a_0,a_1,a_2,...,a_m> 满足以下四个条件:
1.a0=11.a_0=1
2.am=n2.a_m=n
3.a0<a1<a2<...<am1<am3.a_0<a_1<a_2<...<a_{m-1}<a_m
4.4. 对于每一个 k(1km)k(1≤k≤m) 都存在有两个整数 iij(0i,jk1,ij(0≤i,j≤k-1,ijj 可以相等 )) ,使得 ak=ai+aja_k=a_i+a_j
你的任务是:给定一个整数 nn ,找出符合上述四个条件的长度最小的整数加成序列。如果有多个满足要求的答案,只需要输出任意一个解即可。
举个例子,序列 <1,2,3,5><1,2,3,5><1,2,4,5><1,2,4,5> 均为 n=5n=5 时的解。

输入格式

输入包含多组数据。每组数据仅一行包含一个整数 n(1n10000)n(1≤n≤10000) 。在最后一组数据之后是一个 00

输出格式

对于每组数据,输出一行所求的整数加成序列,每个整数之间以空格隔开。

感谢@Iowa_BattleShip 提供的翻译

输入输出样例 #1

输入 #1

5
7
12
15
77
0

输出 #1

1 2 4 5
1 2 4 6 7
1 2 4 8 12
1 2 4 5 10 15
1 2 4 8 9 17 34 68 77

搜索【B】

Not Claimed
Status
Done
Problem
54
Open Since
2025-11-14 0:00
Deadline
2026-2-6 23:59
Extension
24 hour(s)