TouchStone
  Please Login
ログイン 登録
距离明年CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • P1686
  • 問題
  • P1686数字链
    制限 : 時間制限 : 10000 MS   メモリ制限 : 100000 KB
    問題説明

     (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>
    后面的两种是最短的,输出他们中字典序小者。

    入力形式

    一行,一个整数n

    出力形式

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

    サンプル入力

    5

    サンプル出力

    4
    1 2 3 5

    ヒント

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