CF180F Mathematical Analysis Rocks!

题目描述

199 班的学生们把自己的讲义笔记记得很潦草。现在数学分析考试即将来临,必须尽快采取一些措施。我们将班内的学生从 $1$ 到 $n$ 编号。每个学生 $i$($1 \leq i \leq n$)有一个最好的朋友 $p[i]$($1 \leq p[i] \leq n$)。实际上,每个学生都是某一位同学的最好的朋友,换句话说,所有 $p[i]$ 都互不相同。对于某些“特别”的同学,可能存在 $i=p[i]$ 的情况。 每位学生都写了一本属于自己的笔记。我们知道同学们约定按照以下的复习算法: - 第一天,每位同学自己复习自己的数学分析笔记。 - 从第二天开始,每天早上每位同学把自己的笔记交给最好的朋友,并从觉得自己是最好的朋友的同学那里拿到一本笔记。 因此,在第二天,第 $p[i]$ 位同学复习第 $i$ 位同学的笔记,第三天笔记被传递给第 $p[p[i]}$ 位同学,依此类推。由于上面描述的特殊的好友关系,每一天每个同学恰好能学习到一本笔记。 现在给出第三天和第四天每本笔记的归属情况: - $a_{1},a_{2},...,a_{n}$,其中 $a_{i}$ 表示在第三天复习第 $i$ 本笔记的同学编号; - $b_{1},b_{2},...,b_{n}$,其中 $b_{i}$ 表示在第四天复习第 $i$ 本笔记的同学编号。 你不知道数组 $p$,也就是说,不知道谁是每个人的最好的朋友。请你根据给定的序列 $a$ 和 $b$ 写出每位同学的最好的朋友 $p$。

输入格式

第一行一个整数 $n$($1 \leq n \leq 10^{5}$),表示班级中的学生人数。 第二行包含 $n$ 个互不相同的整数 $a_{1},a_{2},...,a_{n}$($1 \leq a_{i} \leq n$),表示第三天每本笔记的归属。 第三行包含 $n$ 个互不相同的整数 $b_{1},b_{2},...,b_{n}$($1 \leq b_{i} \leq n$),表示第四天每本笔记的归属。

输出格式

输出一行 $n$ 个不同的整数 $p[1],p[2],...,p[n]$($1 \leq p[i} \leq n$),表示每位同学的最好的朋友编号。 保证解存在并且唯一。

说明/提示

由 ChatGPT 5 翻译