No.3650 Teleportation Cycles
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 64
作問者 :
Rino-program
/ テスター :
gomaazarasi
p-adic
とある理系大学生の日常
タグ : / 解いたユーザー数 64
作問者 :
とある理系大学生の日常
問題文最終更新日: 2026-07-23 20:35:35
問題文
$N$ 個の都市があり、都市 $1$ から都市 $N$ までの番号が付けられています。
各都市 $i$ にはテレポーターが $1$ つ設置されており、使用すると都市 $A_i$ へ一方通行で瞬時に移動することができます。 ここで、同じ都市に移動する事もある事に注意してください。
いくつかの都市をテレポーターで移動し、元の都市に戻ってくるような「単純な閉路(巡回ルート)」が何個存在するか求めてください。
なお、1つの都市だけで構成される巡回ルート(その都市から移動して同じ都市に戻る場合)も1種類として数えます。
より正確には、以下の条件を満たす都市の集合 $S$ の個数を求めてください。
- $S$ に含まれる都市の数は $1$ 以上である。
- $S$ に含まれる任意の都市 $v$ について、テレポーターの移動先 $A_v$ も $S$ に含まれる。
- $S$ に含まれるどの都市から出発しても、$S$ に含まれるすべての都市をちょうど1回ずつ経由して元の都市に戻ってくることができる。
制約
- $2 \le N \le 2 \times 10^5$
- $1 \le A_i \le N$
- 入力はすべて整数である
入力
入力は以下の形式で標準入力から与えられる。
$N$ $A_1 \ A_2 \ \dots \ A_N$
出力
存在する巡回ルート(閉路)の個数を整数で出力せよ。
最後に改行してください。
サンプル
サンプル1
入力
4 2 3 1 4
出力
2
都市 $1 \to 2 \to 3 \to 1$ という長さ $3$ の巡回ルートが $1$ つ、
都市 $4 \to 4$ という長さ $1$ の巡回ルートが $1$ つ存在するため、
合計 $2$ 個となります。
サンプル2
入力
5 2 3 4 5 2
出力
1
サンプル3
入力
6 2 3 1 5 6 4
出力
2
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。