CF1709.1709
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个整数数组 a1,a2,…,an 和 b1,b2,…,bn。保证从 1 到 2n 的每个整数恰好出现在这两个数组中的一个。
你需要进行若干次操作(可以为零次),使得同时满足以下两个条件:
- 对于每个 1≤i<n,都有 ai<ai+1 且 bi<bi+1。
- 对于每个 1≤i≤n,都有 ai<bi。
每次操作,你可以执行以下三种操作之一:
- 选择一个下标 1≤i<n,交换 ai 和 ai+1 的值。
- 选择一个下标 1≤i<n,交换 bi 和 bi+1 的值。
- 选择一个下标 1≤i≤n,交换 ai 和 bi 的值。
你不需要最小化操作次数,但总操作次数不能超过 1709。请给出任意一种满足条件的操作序列。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 t(1≤t≤100),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤40),表示数组 a 和 b 的长度。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤2n)。
第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤2n)。
保证从 1 到 2n 的每个整数恰好出现在数组 a 或 b 中。
输出格式
对于每个测试用例,输出操作序列。
每个测试用例的第一行输出操作次数 k。注意 0≤k≤1709。
接下来的 k 行,每行输出一次操作:
- 如果你要交换 ai 和 ai+1,输出两个整数 1 和 i。注意 1≤i<n。
- 如果你要交换 bi 和 bi+1,输出两个整数 2 和 i。注意 1≤i<n。
- 如果你要交换 ai 和 bi,输出两个整数 3 和 i。注意 1≤i≤n。
可以证明,在给定的约束下,总是存在解。
输入输出样例
输入#1
6 1 1 2 1 2 1 2 1 3 4 2 2 1 4 3 2 3 6 5 4 3 2 1 3 5 3 4 2 6 1
输出#1
0 1 3 1 1 2 1 1 3 2 9 3 1 3 2 3 3 1 1 2 1 2 2 1 2 1 1 2 1 6 2 2 1 1 1 2 2 1 3 1 3 2
说明/提示
在第一个测试用例中,a1<b1,因此无需进行任何操作。
在第二个测试用例中,a1>b1。执行一次操作后,这两个值会被交换。
在第三个测试用例中,执行一次操作后,a=[1,3],b=[2,4]。
在第四个测试用例中,执行一次操作后,a=[1,2],b=[3,4]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?