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 n planks, where the i-th plank has the color ai. You want to repaint the fence in such a way that the i-th plank has the color bi.
You've invited m painters for this purpose. The j-th painter will arrive at the moment j and will recolor exactly one plank to color cj. 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 b you want? If it's possible, print for each painter which plank he must paint.
你终于从这场疯狂的梦境中醒来,决定四处走走,让头脑清醒一下。出门后,你看到了自家的篱笆——如此单调乏味,以至于你想给它重新刷漆。

你的篱笆由 n 块木板组成,其中第 i 块木板当前的颜色为 ai。你希望将篱笆重刷成目标颜色序列 b,即第 i 块木板最终颜色应为 bi。
为此,你邀请了 m 位油漆匠。第 j 位油漆匠将在时刻 j 到达,并恰好将一块木板重新涂成颜色 cj。对于每位油漆匠,你可以自由选择他所涂的木板,但不能拒绝任何一位油漆匠,即每位油漆匠必须且仅能涂一块木板。
你能否得到期望的颜色序列 b?如果可以,请输出每位油漆匠应涂哪一块木板(即输出每位油漆匠操作的木板编号);否则无需输出。
输入格式
The first line contains one integer t (1≤t≤104) — the number of test cases. Then t test cases follow.
The first line of each test case contains two integers n and m (1≤n,m≤105) — the number of planks in the fence and the number of painters.
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤n) — the initial colors of the fence.
The third line of each test case contains n integers b1,b2,…,bn (1≤bi≤n) — the desired colors of the fence.
The fourth line of each test case contains m integers c1,c2,…,cm (1≤cj≤n) — the colors painters have.
It's guaranteed that the sum of n doesn't exceed 105 and the sum of m doesn't exceed 105 over all test cases.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。接下来是 t 个测试用例。
每个测试用例的第一行包含两个整数 n 和 m(1≤n,m≤105)—— 围栏中木板的数量和粉刷匠的数量。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n)—— 围栏的初始颜色。
每个测试用例的第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤n)—— 围栏的目标颜色。
每个测试用例的第四行包含 m 个整数 c1,c2,…,cm(1≤cj≤n)—— 各粉刷匠所拥有的颜色。
保证所有测试用例中 n 的总和不超过 105,且 m 的总和也不超过 105。
输出格式
For each test case, output "NO" if it is impossible to achieve the coloring b.
Otherwise, print "YES" and m integers x1,x2,…,xm, where xj is the index of plank the j-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).
对于每个测试用例,若无法实现目标染色方案 b,则输出 "NO"。
否则,输出 "YES" 以及 m 个整数 x1,x2,…,xm,其中 xj 表示第 j 位画家应涂色的木板编号。
你可以以任意大小写形式输出每个字母(例如,字符串 "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测评打分。不知道怎么写?