U. 行星循环

    Type: Default 1000ms 256MiB

行星循环

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

翻译自 CSES-1751 题。

题目描述

你正在玩一个由 nn 个行星组成的游戏。每个行星都有一个传送门,传送到另一个行星(或者是它自己)。

你从一个行星出发,经过传送门,直到到达一个已经访问过的行星。

你的任务是计算从每个行星出发时,经过多少次传送才能到达已经访问过的行星。

输入格式

第一行包含一个整数 nn:表示行星的数量。行星编号为 1,2,,n1,2,…,n

第二行包含 nn 个整数 t1,t2,,tnt_1,t_2,…,t_n:表示每个行星的传送门目的地。如果 ti=it_i = i,则表示该行星的传送门指向自己。

输出格式

输出 nn 个整数,表示从每个行星出发,经过多少次传送会到达已经访问过的行星。

样例

5
2 4 3 1 4
3 3 1 3 4

说明/提示

1n21051 \leq n \leq 2 \cdot 10^5

1tin1 \leq t_i \leq n

CSES4 图论

Not Claimed
Status
Done
Problem
36
Open Since
2025-5-21 0:00
Deadline
2025-5-31 23:59
Extension
24 hour(s)