| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 19 | 5 | 5 | 29.412% |
n 個の入力と n 個の出力を持つ,次の図のような IC (集積回路) を考える.n 個の入力には 左から 1, 2, . . . , n と番号が振られている.同様に n 個の出力にも左から 1, 2, . . . , n と番号が振 られている.
この IC では,n 個の入力の各々がそのまま n 個の出力となって出てくるのだが,どの入力 がどの出力に対応しているかはわからない.IC は出力 1, . . . , n に対応する入力の番号を並べる ことで記述する.
例えば,n = 3 のとき,次の 6 種類の IC が存在する.
ここで,IC (2, 3, 1) を 5 個直列につなぐと,次の図のように最初の入力 3, 1, 2 がそれぞれ最 後の出力 1, 2, 3 に対応するので,結局 IC (3, 1, 2) と同じ動作をすることになる.
整数 n (1 ≤ n ≤ 10000), k (1 ≤ k ≤ 10000) と 1 から n までの異なる整数の列 a1, . . . , an が 与えられたとき,同じ種類の IC を k 個直列につなぐことで IC (a1, . . . , an) と同じ動作をさせ ることができるかどうかを判定し,できる場合には目的を達成できる IC を出力するプログラ ムを書け.条件に合う IC が複数存在するときは, どの IC を出力してもよい.
入力は n + 1 行からなる.
1 行目には整数 n と k が空白で区切って書かれている.
i + 1 行目 (1 ≤ i ≤ n) には整数 ai が書かれている.
プログラムは結果を標準出力に出力する.
同じ種類の IC を k 個直列につないで IC (a1, . . . , an) と同じ動作をさせることが可能な場合, 1 行目から n 行目までの n 行で条件を満たす IC を記述せよ.すなわち,1 ≤ i ≤ n に対し,i 行目には IC の出力 i に対応する入力の番号を書け.
同じ種類の IC を k 個直列につないで IC (a1, . . . , an) と同じ動作をさせることが不可能な場 合,0 と書いた 1 行だけを出力せよ.
3 5 3 1 2
2 3 1
4 4 2 1 4 3
0