#CF1983D. 交换困境
交换困境
D. 交换困境
时间限制:1 秒
内存限制:256 兆字节
给定两个长度为 的数组 和 ,数组中的元素均为互不相同的正整数。我们希望通过若干次操作使得两个数组变得相同。两个长度为 的数组 和 被称为相同,当且仅当对于所有 ,都有 。
在一次操作中,你可以:
- 在数组 中选择某个下标 和 (),交换 和 ;
- 同时,在数组 中选择某个 和 (),满足 ,交换 和 。
问是否可能通过若干次操作使得两个数组变得相同?
输入
每个测试点包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 ()——数组 和 的长度。
第二行包含 个互不相同的整数 ()——数组 中的元素。
第三行包含 个互不相同的整数 ()——数组 中的元素。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,如果可以使两个数组变得相同,输出 "YES",否则输出 "NO"。你可以以任意大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定回答。
示例
输入
6
4
1 2 3 4
1 2 3 4
5
1 3 4 2 5
7 1 2 5 4
4
1 2 3 4
4 3 2 1
3
1 2 3
1 3 2
5
1 5 7 1000 4
4 1 7 5 1000
3
1 4 2
1 3 2
输出
YES
NO
YES
NO
NO
NO
注释
在第一个测试用例中,两个数组已经相同,无需任何操作。
在第二个测试用例中,可以证明不存在任何方法使数组相同。
在第三个测试用例中,一种使数组相同的方法是:首先选择 ,;然后选择 ,。