TouchStone
  Please Login
Login Sign Up
距离明年CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 Homepage  Problem Set  Examinations  Submissions  Discussions  Statistics
  • Home
  • Problem Set
  • P1686
  • Problem
  • P1686数字链
    Limits : Time Limit : 10000 MS   Memory Limit : 100000 KB
    Description

     (chain.cpp/.in/.out 时限1s 内存128m)
      数字链有以下的特性:
       它是一个有m+1个数的序列A0,A1,A2……Am。
       A0=1
       Am=n
       A0<A1<……<Am
       对于k,1<=k<=m,有Ak=Ai+Aj,i和j小于k,但i和j可以相同(即Ai,Aj可以是同一个数)
       现在给定一个n,输出一个最短的数字链。
        例如当n=5是由以下三种构造数字链的方法:
        <1,2,3,4,5>
        <1,2,3,5><1,2,4,5>
    后面的两种是最短的,输出他们中字典序小者。

    Input Format

    一行,一个整数n

    Output Format

    第一行,一个整数,表示最短数字链的长度
    第二行,求出的合法数字序列,空格间隔

    Sample Input

    5

    Sample Output

    4
    1 2 3 5

    Hint

    对于100%的数据,1<=n<=100