CF1481C.Fence Painting

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You finally woke up after this crazy dream and decided to walk around to clear your head. Outside you saw your house's fence — so plain and boring, that you'd like to repaint it.

You have a fence consisting of nn planks, where the ii-th plank has the color aia_i. You want to repaint the fence in such a way that the ii-th plank has the color bib_i.

You've invited mm painters for this purpose. The jj-th painter will arrive at the moment jj and will recolor exactly one plank to color cjc_j. For each painter you can choose which plank to recolor, but you can't turn them down, i. e. each painter has to color exactly one plank.

Can you get the coloring bb you want? If it's possible, print for each painter which plank he must paint.

你终于从这场疯狂的梦境中醒来,决定四处走走,让头脑清醒一下。出门后,你看到了自家的篱笆——如此单调乏味,以至于你想给它重新刷漆。

你的篱笆由 nn 块木板组成,其中第 ii 块木板当前的颜色为 aia_i。你希望将篱笆重刷成目标颜色序列 bb,即第 ii 块木板最终颜色应为 bib_i。

为此,你邀请了 mm 位油漆匠。第 jj 位油漆匠将在时刻 jj 到达,并恰好将一块木板重新涂成颜色 cjc_j。对于每位油漆匠,你可以自由选择他所涂的木板,但不能拒绝任何一位油漆匠,即每位油漆匠必须且仅能涂一块木板。

你能否得到期望的颜色序列 bb?如果可以,请输出每位油漆匠应涂哪一块木板(即输出每位油漆匠操作的木板编号);否则无需输出。

输入格式

The first line contains one integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases. Then tt test cases follow.

The first line of each test case contains two integers nn and mm (1≤n,m≤1051 \le n, m \le 10^5) — the number of planks in the fence and the number of painters.

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤n1 \le a_i \le n) — the initial colors of the fence.

The third line of each test case contains nn integers b1,b2,…,bnb_1, b_2, \dots, b_n (1≤bi≤n1 \le b_i \le n) — the desired colors of the fence.

The fourth line of each test case contains mm integers c1,c2,…,cmc_1, c_2, \dots, c_m (1≤cj≤n1 \le c_j \le n) — the colors painters have.

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

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。接下来是 tt 个测试用例。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤1051 \le n, m \le 10^5)—— 围栏中木板的数量和粉刷匠的数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤n1 \le a_i \le n)—— 围栏的初始颜色。

每个测试用例的第三行包含 nn 个整数 b1,b2,…,bnb_1, b_2, \dots, b_n(1≤bi≤n1 \le b_i \le n)—— 围栏的目标颜色。

每个测试用例的第四行包含 mm 个整数 c1,c2,…,cmc_1, c_2, \dots, c_m(1≤cj≤n1 \le c_j \le n)—— 各粉刷匠所拥有的颜色。

保证所有测试用例中 nn 的总和不超过 10510^5,且 mm 的总和也不超过 10510^5。

输出格式

For each test case, output "NO" if it is impossible to achieve the coloring bb.

Otherwise, print "YES" and mm integers x1,x2,…,xmx_1, x_2, \dots, x_m, where xjx_j is the index of plank the jj-th painter should paint.

You may print every letter in any case you want (so, for example, the strings "yEs", "yes", "Yes" and "YES" are all recognized as positive answer).

对于每个测试用例,若无法实现目标染色方案 bb,则输出 "NO"。

否则,输出 "YES" 以及 mm 个整数 x1,x2,…,xmx_1, x_2, \dots, x_m,其中 xjx_j 表示第 jj 位画家应涂色的木板编号。

你可以以任意大小写形式输出每个字母(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 均被视为肯定回答)。

输入输出样例

  • 输入#1

    6
    1 1
    1
    1
    1
    5 2
    1 2 2 1 1
    1 2 2 1 1
    1 2
    3 3
    2 2 2
    2 2 2
    2 3 2
    10 5
    7 3 2 1 7 9 4 2 7 9
    9 9 2 1 4 9 4 2 3 9
    9 9 7 4 3
    5 2
    1 2 2 1 1
    1 2 2 1 1
    3 3
    6 4
    3 4 2 4 1 2
    2 3 1 3 1 1
    2 2 3 4

    输出#1

    YES
    1
    YES
    2 2
    YES
    1 1 1
    YES
    2 1 9 5 9
    NO
    NO

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

首页