CF1672F2.Checker for Array Shuffling

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

oolimry has an array aa of length nn which he really likes. Today, you have changed his array to bb, a permutation of aa, to make him sad.

Because oolimry is only a duck, he can only perform the following operation to restore his array:

  • Choose two integers i,ji,j such that 1≤i,j≤n1 \leq i,j \leq n.
  • Swap bib_i and bjb_j.

The sadness of the array bb is the minimum number of operations needed to transform bb into aa.

Given the arrays aa and bb, where bb is a permutation of aa, determine if bb has the maximum sadness over all permutations of aa.

oolimry 有一个长度为 nn 的数组 aa,他非常喜欢这个数组。今天,你将他的数组改成了 bb(bb 是 aa 的一个排列),让他感到难过。

由于 oolimry 只是一只鸭子,他只能执行以下操作来恢复自己的数组:

  • 选择两个整数 i,ji,j,满足 1≤i,j≤n1 \leq i,j \leq n;
  • 交换 bib_i 和 bjb_j。

数组 bb 的“悲伤值”定义为:将 bb 变回 aa 所需的最少操作次数。

已知数组 aa 和 bb(其中 bb 是 aa 的一个排列),请判断 bb 是否在 aa 的所有排列中具有最大的悲伤值。

输入格式

Each test contains multiple test cases. The first line contains a single integer tt (1≤t≤1041 \leq t \leq 10^4) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer nn (1≤n≤2⋅1051 \leq n \leq 2 \cdot 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 (1≤ai≤n1 \leq a_i \leq n) — the elements of the array aa.

The third line of each test case contains nn integers b1,b2,…,bnb_1, b_2, \ldots, b_n (1≤bi≤n1 \leq b_i \leq n) — the elements of the array bb.

It is guaranteed that bb is a permutation of aa.

It is guaranteed that the sum of nn over all test cases does not exceed 2⋅1052 \cdot 10^5.

每个测试包含多个测试用例。第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5),表示数组的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \leq a_i \leq n),表示数组 aa 的元素。

每个测试用例的第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \ldots, b_n(1≤bi≤n1 \leq b_i \leq n),表示数组 bb 的元素。

保证 bb 是 aa 的一个排列。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

For each test case, print "AC" (without quotes) if bb has the maximum sadness over all permutations of aa, and "WA" (without quotes) otherwise.

对于每个测试用例,如果 bb 在 aa 的所有排列中具有最大的悲伤值,则输出 "AC"(不带引号);否则输出 "WA"(不带引号)。

输入输出样例

  • 输入#1

    4
    2
    2 1
    1 2
    4
    1 2 3 3
    3 3 2 1
    2
    2 1
    2 1
    4
    1 2 3 3
    3 2 3 1

    输出#1

    AC
    AC
    WA
    WA

说明/提示

In the first test case, the array [1,2][1,2] has sadness 11. We can transform [1,2][1,2] into [2,1][2,1] using one operation with (i,j)=(1,2)(i,j)=(1,2).

In the second test case, the array [3,3,2,1][3,3,2,1] has sadness 22. We can transform [3,3,2,1][3,3,2,1] into [1,2,3,3][1,2,3,3] with two operations with (i,j)=(1,4)(i,j)=(1,4) and (i,j)=(2,3)(i,j)=(2,3) respectively.

In the third test case, the array [2,1][2,1] has sadness 00.

In the fourth test case, the array [3,2,3,1][3,2,3,1] has sadness 11.

在第一个测试用例中,数组 [1,2][1,2] 的悲伤值为 11。我们可以对 [1,2][1,2] 执行一次操作(其中 (i,j)=(1,2)(i,j)=(1,2))将其变为 [2,1][2,1]。

在第二个测试用例中,数组 [3,3,2,1][3,3,2,1] 的悲伤值为 22。我们可以对 [3,3,2,1][3,3,2,1] 执行两次操作(分别取 (i,j)=(1,4)(i,j)=(1,4) 和 (i,j)=(2,3)(i,j)=(2,3))将其变为 [1,2,3,3][1,2,3,3]。

在第三个测试用例中,数组 [2,1][2,1] 的悲伤值为 00。

在第四个测试用例中,数组 [3,2,3,1][3,2,3,1] 的悲伤值为 11。

输入解题思路,AI测评打分。不知道怎么写?

首页