CF1619H.Permutation and Queries
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a permutation p of n elements. A permutation of n elements is an array of length n containing each integer from 1 to n exactly once. For example, [1,2,3] and [4,3,5,1,2] are permutations, but [1,2,4] and [4,3,2,1,2] are not permutations. You should perform q queries.
There are two types of queries:
- 1 x y — swap px and py .
- 2 i k — print the number that i will become if we assign i=pi k times.
输入格式
The first line contains two integers n and q ( 1≤n,q≤105 ).
The second line contains n integers p1,p2,…,pn .
Each of the next q lines contains three integers. The first integer is t ( 1≤t≤2 ) — type of query. If t=1 , then the next two integers are x and y ( 1≤x,y≤n ; x=y ) — first-type query. If t=2 , then the next two integers are i and k ( 1≤i,k≤n ) — second-type query.
It is guaranteed that there is at least one second-type query.
输出格式
For every second-type query, print one integer in a new line — answer to this query.
输入输出样例
输入#1
5 4 5 3 4 2 1 2 3 1 2 1 2 1 1 3 2 1 2
输出#1
4 1 2
输入#2
5 9 2 3 5 1 4 2 3 5 2 5 5 2 5 1 2 5 3 2 5 4 1 5 4 2 5 3 2 2 5 2 5 1
输出#2
3 5 4 2 3 3 3 1
说明/提示
In the first example p={5,3,4,2,1} .
The first query is to print p3 . The answer is 4 .
The second query is to print pp1 . The answer is 1 .
The third query is to swap p1 and p3 . Now p={4,3,5,2,1} .
The fourth query is to print pp1 . The answer is 2 .