atcoder#ABC228B. [ABC228B] Takahashi's Secret

[ABC228B] Takahashi's Secret

题目描述

高桥有 NN 个朋友,他们的昵称分别是:朋友 11,朋友 22\ldots,朋友 NN

有一天,高桥不小心让其中一个朋友——朋友 XX,知道了他的丑陋秘密。

对于每个 i=1,2,,Ni = 1, 2, \ldots, N,当朋友 ii 知道这个秘密时,如果朋友 AiA_i 还不知道这个秘密,朋友 ii 会将秘密告诉朋友 AiA_i

最终,有多少个高桥的朋友会知道这个秘密?

输入格式

第一行输入 N N X X

第二行输入 A1 A_1 A2 A_2 \cdots AN A_N

输出格式

输出一个整数代表答案

4 2
3 1 1 2
3
20 12
7 11 10 1 7 20 14 2 17 3 2 5 19 20 8 14 18 2 10 10
7

提示

  • 2  N  105 2\ \leq\ N\ \leq\ 10^5
  • 1  X  N 1\ \leq\ X\ \leq\ N
  • 1  Ai  N 1\ \leq\ A_i\ \leq\ N
  • Ai  i A_i\ \neq\ i
  • 输入数据均为整数

样例 1 解释

高桥的秘密将被朋友 11、朋友 22 和朋友 33 知道,过程如下:

  • 有一天,高桥让朋友 22 知道了这个秘密。
  • 朋友 22 将秘密告诉了朋友 11
  • 朋友 11 将秘密告诉了朋友 33

最终,三个朋友知道了这个秘密,所以我们输出 33