AT_abc371_g [ABC371G] Lexicographically Smallest Permutation
题目描述
给定 $ (1,2,\ldots,N) $ 的一个排列 $ P=(P_1,P_2,\ldots,P_N) $ 和 $ A=(A_1,A_2,\ldots,A_N) $。
你可以进行任意次(包括 $0$ 次)如下操作:
- 对于 $ i=1,2,\ldots,N $,**同时**将 $ A_i $ 替换为 $ A_{P_i} $。
请输出所有可能得到的 $ A $ 中,字典序最小的一个。
字典序的定义如下:对于长度为 $ N $ 的序列 $ A=(A_1,A_2,\ldots,A_N),B=(B_1,B_2,\ldots,B_N) $,若存在某个整数 $ i\ (1\leq i\leq N) $,使得 $ A_i
输入格式
输入以如下格式从标准输入给出。
> $ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
输出格式
请输出所有可能得到的 $ A $ 中,字典序最小的一个。输出格式为 $ (A_1,A_2,\ldots,A_N) $,用空格分隔,输出一行。
说明/提示
### 限制条件
- $ 1\leq N\leq 2\times 10^5 $
- $ 1\leq P_i\leq N\ (1\leq i\leq N) $
- $ P_i\neq P_j\ (1\leq i