[Solution] Bottom-Tier Reversals solution codeforces

Bottom-Tier Reversals solution codeforces

You have a permutation: an array a=[a1,a2,,an]a=[a1,a2,…,an] of distinct integers from 11 to nn. The length of the permutation nn is odd.

You need to sort the permutation in increasing order.

In one step, you can choose any prefix of the permutation with an odd length and reverse it. Formally, if a=[a1,a2,,an]a=[a1,a2,…,an], you can choose any odd integer pp between 11 and nn, inclusive, and set aa to [ap,ap1,,a1,ap+1,ap+2,,an][ap,ap−1,…,a1,ap+1,ap+2,…,an].

Find a way to sort aa using no more than 5n25n2 reversals of the above kind, or determine that such a way doesn’t exist. The number of reversals doesn’t have to be minimized.


Each test contains multiple test cases. The first line contains the number of test cases tt (1t1001≤t≤100). Description of the test cases follows.

The first line of each test case contains a single integer nn (3n20213≤n≤2021nn is odd) — the length of the permutation.

The second line contains nn distinct integers a1,a2,,ana1,a2,…,an (1ain1≤ai≤n) — the permutation itself.

It is guaranteed that the sum of nn over all test cases does not exceed 20212021.

Output Bottom-Tier Reversals solution codeforces

For each test case, if it’s impossible to sort the given permutation in at most 5n25n2 reversals, print a single integer 1−1.

Otherwise, print an integer mm (0m5n20≤m≤5n2), denoting the number of reversals in your sequence of steps, followed by mm integers pipi (1pin1≤pi≤npipi is odd), denoting the lengths of the prefixes of aa to be reversed, in chronological order.

Note that mm doesn’t have to be minimized. If there are multiple answers, print any.

Example Bottom-Tier Reversals solution codeforces
input Bottom-Tier Reversals solution codeforces

Copy Bottom-Tier Reversals solution codeforces
1 2 3
3 4 5 2 1
2 1 3

3 3 3 3
3 5

In the first test case, the permutation is already sorted. Any even number of reversals of the length 33 prefix doesn’t change that fact.

In the second test case, after reversing the prefix of length 33 the permutation will change to [5,4,3,2,1][5,4,3,2,1], and then after reversing the prefix of length 55 the permutation will change to [1,2,3,4,5][1,2,3,4,5].

In the third test case, it’s impossible to sort the permutation.



Solution: Click here

Bottom-Tier Reversals solution codeforcessolution codeforcescodeforces solutioncodeforces freshersonline

Leave a Comment