CF1733C.Parity Shuffle Sorting

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa with nn non-negative integers. You can apply the following operation on it.

  • Choose two indices ll and rr ( 1l<rn1 \le l < r \le n ).
  • If al+ara_l + a_r is odd, do ar:=ala_r := a_l . If al+ara_l + a_r is even, do al:=ara_l := a_r .

Find any sequence of at most nn operations that makes aa non-decreasing. It can be proven that it is always possible. Note that you do not have to minimize the number of operations.

An array a1,a2,,ana_1, a_2, \ldots, a_n is non-decreasing if and only if a1a2ana_1 \le a_2 \le \ldots \le a_n .

输入格式

The first line contains one integer tt ( 1t1051 \le t \le 10^5 ) — the number of test cases.

Each test case consists of two lines. The first line of each test case contains one integer nn ( 1n1051 \le n \le 10^5 ) — the length of the array.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 0ai1090 \le a_i \le 10^9 ) — the array itself.

It is guaranteed that the sum of nn over all test cases doesn't exceed 10510^5 .

输出格式

For each test case, print one integer mm ( 0mn0 \le m \le n ), the number of operations, in the first line.

Then print mm lines. Each line must contain two integers li,ril_i, r_i , which are the indices you chose in the ii -th operation ( 1li<rin1 \le l_i < r_i \le n ).

If there are multiple solutions, print any of them.

输入输出样例

  • 输入#1

    3
    2
    7 8
    5
    1 1000000000 3 0 5
    1
    0

    输出#1

    0
    2
    3 4
    1 2
    0

说明/提示

In the second test case, aa changes like this:

  • Select indices 33 and 44 . a3+a4=3a_3 + a_4 = 3 is odd, so do a4:=a3a_4 := a_3 . a=[1,1000000000,3,3,5]a = [1, 1000000000, 3, 3, 5] now.
  • Select indices 11 and 22 . a1+a2=1000000001a_1 + a_2 = 1000000001 is odd, so do a2:=a1a_2 := a_1 . a=[1,1,3,3,5]a = [1, 1, 3, 3, 5] now, and it is non-decreasing.

In the first and third test cases, aa is already non-decreasing.

首页