CF1249B1.Books Exchange (easy version)

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Books Exchange (easy version)

题目描述

本题的简单版与困难版的唯一区别在于数据范围。

nn 个小朋友,每个人正在读一本独一无二的书。在每一天结束时,第 ii 个小朋友会把自己的书交给第 pip_i 个小朋友(如果 i=pii = p_i,则他把书交给自己)。保证所有 pip_i 都是 11nn 的不同整数(即 pp 是一个排列)。序列 pp 在每天都不会改变,是固定的。

例如,如果 n=6n=6p=[4,6,1,3,5,2]p=[4, 6, 1, 3, 5, 2],那么在第一天结束时,第 11 个小朋友的书会交给第 44 个小朋友,第 22 个小朋友的书会交给第 66 个小朋友,依此类推。在第二天结束时,第 11 个小朋友的书会交给第 33 个小朋友,第 22 个小朋友的书会交给第 22 个小朋友,依此类推。

你的任务是,对于每个 ii1in1 \le i \le n),求出第 ii 个小朋友的书第一次回到他手里的天数。

例如,p=[5,1,2,4,3]p = [5, 1, 2, 4, 3]。第 11 个小朋友的书会被依次传递给:

  • 第一天后,传到第 55 个小朋友手中,
  • 第二天后,传到第 33 个小朋友手中,
  • 第三天后,传到第 22 个小朋友手中,
  • 第四天后,回到第 11 个小朋友手中。

所以,经过四天,第一个小朋友的书会第一次回到他手中。第四个小朋友的书会在一天后就回到他手中。

你需要回答 qq 个独立的询问。

输入格式

输入的第一行包含一个整数 qq1q2001 \le q \le 200),表示询问的数量。接下来有 qq 个询问。

每个询问的第一行包含一个整数 nn1n2001 \le n \le 200),表示该询问中的小朋友数量。第二行包含 nn 个整数 p1,p2,,pnp_1, p_2, \dots, p_n1pin1 \le p_i \le n,所有 pip_i 互不相同,即 pp 是一个排列),其中 pip_i 表示第 ii 个小朋友的书会交给第 pip_i 个小朋友。

输出格式

对于每个询问,输出 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,其中 aia_i 表示在该询问中第 ii 个小朋友的书第一次回到他手里的天数。

说明/提示

由 ChatGPT 4.1 翻译

样例

6
5
1 2 3 4 5
3
2 3 1
6
4 6 2 1 5 3
1
1
4
3 4 1 2
5
5 1 2 4 3
1 1 1 1 1 
3 3 3 
2 3 3 2 1 3 
1 
2 2 2 2 
4 4 4 1 4 

在线编程 IDE

建议全屏模式获得最佳体验