시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 137 | 87 | 70 | 66.038% |
同じ大きさの正方形の紙が n 枚ある.これらの紙の下部を水平に揃えて何列 かに並べる.ただし,隣り合う列は左側が右側より低くならないように並べなけれ ばならない.例えば, n = 5 のときは,次のような 7 通りの並べ方が可能である.
これらを,各列に並んだ正方形の個数の列で表すことにする.例えば,n = 5 の ときは,それぞれ,
(5) (4, 1) (3, 2) (3, 1, 1) (2, 2, 1) (2, 1, 1, 1) (1, 1, 1, 1, 1)
と表わされる.
n を入力したとき, 辞書式順序で全て出力するプログラムを作成せよ.n ≤ 30 とする.ただし, 辞書式順序とは2つの並べ方 (a1, a2, ..., as) が並べ方 (b1, b2, ..., bt) に対して, a1 > b1 または, ある整数 i > 1 が存在して a1 = b1, ..., ai−1 = bi−1 かつ ai > bi が成り立つとき (a1, a2, ..., as) が (b1, b2, ..., bt) より先に出力されるように並 べることである.
1 行からなり, 1 行目に n が書かれている.
辞書式順序で1 行に1通りずつ書き最後に改行を入れること. 並べ方は (a1, a2, ..., as) の出力は整数 a1, a2, . . . , as をこの順番に空白で区切って出力すること.
5
5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1