No.241 出席番号(1)

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 81
作問者 : nmnmnmnmnmnmnmnmnmnmnmnmnmnm

2 ProblemId : 642 / 出題時の順位表

問題文

$N$人の生徒がいるクラスがあります。生徒は$S_0$君から$S_{N-1}$君までいます。
それぞれの生徒に$0$から$N-1$までの出席番号を割り振りたいです。
しかし、それぞれの生徒には嫌いな数が1つあり出席番号にしたくありません。
どの生徒にも嫌いな数が当たらないように出席番号を割り振りなさい。

※test2.txt はコーナーケースかもしれません。ACしない場合は制約をよく読みましょう。

入力

$N$
$A_0$
$A_1$
$\vdots$
$A_{N-1}$

生徒の数$N$が最初の行で与えられる。$1 \le N \le 50$。
以降の行で$S_i$君の嫌いな数$A_i$が$N$行で与えられる。$0 \le A_i \le 49$。
$A_i$は重複したものは存在しないが、昇順とは限らない。

出力

$S_0$君から$S_{N-1}$君の出席番号を順に$N$行で出力せよ。
出席番号は重複しませんので$0$から$N-1$までの数字が$1$つずつ存在すること。
正解は複数存在しますのでそのうちの$1$つを出力してください。
出席番号を割り振ることが不可能な場合には$1$行で-1を出力せよ。
最後に改行してください。

サンプル

サンプル1
入力
3
0
1
2
出力
2
0
1

$S_0$君は$0$が嫌いです。
$S_1$君は$1$が嫌いです。
$S_2$君は$2$が嫌いです。
なので、$S_0$君には$2$を、$S_1$君には$0$を、$S_2$君には$1$を割り振りました。

サンプル2
入力
4
3
3
3
3
出力
-1

出席番号3を誰にも割り振ることができません。
よって、出席番号の割り振りは不可能です。

サンプル3
入力
5
1
1
1
0
1
出力
4
2
0
1
3

$S_3$君には必ず出席番号1を割り振らないといけないですね。

提出ページヘ