#5171. 速记
速记
题目描述
在某次信息学竞赛中,将会考核选手们快速记录下不同数据的能力。为了训练选手的速记能力,赛题设计了一些数字序列,要求选手通过分析这些序列来统计匹配的结果。
给定三个长度为 N 的序列 A = (A1, A2, …, AN)、B = (B1, B2, …, BN)、和 C = (C1, C2, …, CN),其中每个序列中的元素都是从 1 到 N 之间的整数。
问题要求选手计算有多少对整数 (i, j) 满足条件 A[i] = B[C[j]]。
即,对于每一对 (i, j),如果 A[i] 和 B[C[j]] 的值相等,就认为这是一个符合条件的匹配。
输入格式
- 第一行输入一个整数 N,表示序列的长度。
- 第二行包含 N 个整数 A1, A2, …, AN,表示序列 A 的内容。
- 第三行包含 N 个整数 B1, B2, …, BN,表示序列 B 的内容。
- 第四行包含 N 个整数 C1, C2, …, CN,表示序列 C 的内容。
输出格式
输出一个整数,表示满足条件 Ai = BCj 的整数对 (i, j) 的数量。
3 1 2 2 3 1 2 2 3 2
```output1 1
4
```input1 2
4 1 1 1 1 1 1 1 1 1 2 3 4
```output1 2
16
```input1 3
3 2 3 3 1 3 3 1 1 1
```output1 3
0
## 说明
### 样例 1 解释
有四对 (i,j) 满足 A[i] = B[C[j]],分别是:(1,1),(1,3),(2,2),(3,2)。
因为:
- A[1] = 1,C[1] = 2,B[C[1]] = B[2] = 1,因此 A[1] = B[C[1]]。
- A[1] = 1,C[3] = 2,B[C[3]] = B[2] = 1,因此 A[1] = B[C[3]]。
- A[2] = 2,C[2] = 3,B[C[2]] = B[3] = 2,因此 A[2] = B[C[2]]。
- A[3] = 2,C[2] = 3,B[C[2]] = B[3] = 2,因此 A[3] = B[C[2]]。
## 数据范围
- 对于 15% 的数据,满足 1 ≤ N ≤ 50;
- 对于 100% 的数据,满足 1 ≤ N ≤ 1e5,1 ≤ Ai, Bi, Ci ≤ N。