問題一覧 > 通常問題

No.3529 2p Teleportations

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 15
作問者 : GaLLium / テスター : Yoyoyo8128 yu23578 Germanium32 aa36 yt142857
ProblemId : 13233 / yukicoder contest 聖光学院プログラミングコンテスト2026 day2 (順位表) / 自分の提出
問題文最終更新日: 2026-05-05 08:19:16
yukicoder contest 聖光学院プログラミングコンテスト2026 day2の他の問題:

問題文

$N$ 個の教室と $N$ 人の生徒が存在し,それぞれ $1$ から $N$ までの番号がつけられています.はじめ生徒 $i(1 \leq i \leq N)$ は 教室 $A_i$ にいるとすると $(A_1,A_2,\ldots,A_N)$ は $(1,2,\ldots,N)$ の順列となりました. $N,A,$ $\color{red}{N}$ より大きい素数 $p$ が与えられるので,以下をすべて満たす数列 $B$ を $1$ つ構築してください.(必ず存在することが保証されます.)

  • $B$ は長さ $N$ の整数列であり,$i=1,2,\ldots ,N$ について $1 \leq B_i \leq N$ を満たす.
  • 以下を $\color{red}{2p}$ 回繰り返したあと生徒 $i$ が教室 $i$ にいないような $i(1 \leq i \leq N)$ の個数は $\sqrt{N}$ 未満.
    • $i=1,2,\ldots,N$ すべてに対して,生徒 $i$ が教室 $j$ にいるとしたとき教室 $B_j$ にテレポートさせる.
$T$ 個のテストケースが与えられるので,それぞれについて答えを求めてください.

制約

  • 入力はすべて整数
  • $1 \leq T \leq 100$
  • $2 \leq N \leq 10^4$
  • $N \lt p \leq 2 \times 10^4$
  • $(A_1,A_2,\ldots,A_N)$ は $(1,2,\ldots,N)$ の順列

入力

$T$
$\mathrm{case}_1$
$\mathrm{case}_2$
$\vdots$
$\mathrm{case}_T$
ここで $\mathrm{case}_t$ は $t$ 個目のテストケースであり,以下のような形式で与えられます.
$N\ p$
$A_1\ A_2\ \ldots\ A_N$

出力

$T$ 行出力してください.$t(1 \leq t \leq T)$ 行目には $t$ 個目のテストケースに対する数列 $B_1,B_2,\ldots,B_N$ を空白区切りで出力してください.

サンプル

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

$1$ つ目のテストケースについて,すべての生徒が $2p = 10$ 回のテレポートを終えたあと生徒 $1,2,3$ はそれぞれ教室 $1,1,3$ にいます. 生徒 $i$ が 教室 $i$ にいないような $i$ は $i=2$ の $1$ つのみであり,これは $\sqrt{3}$ 未満なので条件を満たしています. 条件を満たすどんな $B$ を出力してもACが得られます.

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。