3930 - 景区开发

题目描述

某城市有 N 个景点,景点编号 1 \sim N。为了开发景区旅游资源,文旅局决定在景点之间修建免费的单向道路,方便旅客们到更多的景点旅行。

由于财政拨款有限,每个景点最多只能修建一条通往其他景点的单向道路。部分景点地处偏僻,暂时无法修建通往其他景点的单向道路。

现给出每个景点修建的通往其他景点单向道路的数据。请编程计算出:如果从旅客从编号为 i 的景点出发,最多能访问多少个不同的景点?

输入

1 行输入一个整数 N,表示景点的总数。

接下来 N 行,每行输入一个整数,代表每个景点的单向道路通往其他景点的编号。请注意,如果某景点不存在通往其他景点的道路,那么该景点将会记录自己的编号。

输出

输出 N 行,第 i 行输出从景点 i 出发,最多能访问到多少个不同的景点。

样例

输入

5
1
3
4
2
4

输出

1
3
3
3
4

输入

8
2
1
4
5
4
6
6
8

输出

2
2
3
2
2
1
2
1

输入

10
2
3
4
5
2
7
8
9
10
10

输出

5
4
4
4
4
5
4
3
2
1
说明

样例 1 解释

景点 1 没有通往其他景点的道路,因此记录的值为 1

景点 2 可以通往景点 3,景点 3 可以通往景点 4,景点 4 可以通往景点 2,景点 5 可以通往景点 4

  • 从景点 1 出发,只能访问景点 1
  • 从景点 2 出发,可以访问景点 2 3 4
  • 从景点 3 出发,可以访问景点 2 3 4
  • 从景点 4 出发,可以访问景点 2 3 4
  • 从景点 5 出发,可以访问景点 2 3 4 5

数据范围

对于 30\% 的数据,满足 1 \le N \le 1000

对于 100\% 的数据,满足 1 \le N \le 10^5,每个景点可以通往其他景点的编号一定在 [1, N] 的范围内。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 59
通过人数 17
金币数量 0 枚
难度 基础


上一题 下一题