<?php $n = trim(fgets(STDIN)); $i_list = array(); $ok_list = array(); for ($i=0;$i<$n;$i++) { $i_list[$i] = trim(fgets(STDIN)); $ok_list[$i] = $i; } // NG部分に関して、入れ替え処理をする for ($i=0;$i<$n;$i++) { if ($i_list[$i] == $ok_list[$i]) { // 入れ替えても問題ない情報をピックアップ $ok_id = -1; for ($j=0;$j<$n;$j++) { if ($i === $j || $ok_list[$i] == $i_list[$j]) continue; $ok_id = $j; } if ($ok_id == -1) { echo -1 . "\n"; goto EOF_241; } else { // replace $tmp = $ok_list[$i]; $ok_list[$i] = $ok_list[$ok_id]; $ok_list[$ok_id] = $tmp; } } } // OK_LISTの出力 foreach ($ok_list as $ok) echo "{$ok}\n"; EOF_241: ?>