タイトル説明
K整数の従来の組は、i番目のセットは、スミ要素を有しています。
数字のセットは、Nより多くのではない正の数であり、セットBに類似する既存の定義のセット。
1。BはAと同様です。
2。セットBの組は、要素のセットを削除した後にAと等しい、または要素の値を変更します。今Kに分割するために、グループM(M> N)、そのような各グループにおける互いに類似の設定することを設定します。私たちは、法的な解決策を与えるように頼みます。ノー解決してください出力「不可能」の場合。
入力形式
入力ファイルの最初の行は、被験体を意味するものとして、3つの数字N、K、Mを有しています。
最初の数のK線が存在するシーケンスの長さの合計を表します。収集した後、これらの要素の数の合計。
出力フォーマット
出力ファイルの数Kが、それぞれが(入力順)番号がグループ(1〜M)に割り当てられているのセットを表しています。
サンプル入力と出力
入力#1
8 20 12 5 1 3 5 6 4 5 1 3 5 6 3 4 5 6 3 3 4 5 6 3 4 4 4 5 6 8 4 7 7 7 7 3 7 7 7 2 2 2 3 2 2 7 3 1 2 3 3 1 2 4 5 1 2 3 4 5 6 7 8 7 6 10 8 7 6 5 4 3 2 1 2 1 20 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 3 5 7 5 4 6 4 6 4 5 6 4 6 4 6 6 6 6 6 6 6 6 3 6 6 6 1 1 1 2
出力#1
2 1 9 1 6 2 4 5 3 7 8 5 4 8 7 9 1 1 2 3
説明/ヒント
データ満たすN≤10、M≤2、K≤10の30%。
データ満たすN≤100、M≤100、K≤50000、Sum≤100の100%まで。
WARNING:高速な読み込み時間と、この問題アウト(シャープレッスン)!
だから、コード?
書式#include <アルゴリズム> 書式#include <iostreamの> の#include <CStringの> の#include <cstdioを> する#include <cmath> の#include <キュー> std名前空間を使用しました。 整数N、M、K。 INTメイン(){ CIN >> N >> K >> M。 {(I ++; I <= kの整数iが= 1)についての INT A、U = 0、C。 cinを>>; {(; J <= A J ++ INT J = 1)のための CIN >> C。 U + = C。 } のprintf( "%dの\ n"は、U%(N + 1)+1)。 } 0を返します。 }