1435: 文件

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:7 解决:1

题目描述

        作为X星球的战舰指挥官。你明天需要处理的文件非常多。这些文件无序的分成两堆。 
堆放在你的办公桌上。现在你想要拿某一个文件。你就必须把上面的文件移动到另一堆的 
上面。才能拿到这个文件。移动的规则:你会把这堆最上面的一份文件移动到另一堆的最 
上面,重复这个过程。直到拿到你想要的文件。 
        现在你桌上两堆文件的数量分别为n,m,有q次想拿文件的操作。你想知道每次拿到 
想要文件需要移动其他文件的最小数量。如果想拿的文件不存在或者之前已经拿过了 
输出-1 
        (下次拿文件时,文件的摆放是上次拿完文件时的摆放) 

输入

多样例测试 
一行输入一个整数T表示样例数(1<T<=20) 
对于每个样例: 
第一行输入n,m,q;(0<n,m<200,0<q<500) 
第二行输入n个整数ai表示"A"堆的文件从下到上的编号 (0<ai<10^5) 
第三行输入m个整数bi表示"B"堆的文件从下到上的编号(0<bi<10^5) 
接下来的q行,每行输入一个整数ci 表示想拿的书的编号(0<ci<10^5) 
注意:桌上文件的编号都是唯一的。 

输出

对于每一个ci。输出要拿到这个文件需要移动其他文件的最小数量。

样例输入 复制

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

样例输出 复制

1
-1
3
-1

提示

样例解释: 
'A'堆:(1 2 3)     'B'堆:(5 7 9) 


想拿7 
移动9:'A'堆:(1 2 3 9)     'B'堆:(5 7) 
拿到7(移动一个文件) 
'A'堆:(1 2 3 9)     'B'堆:(5)



想拿7 
7已经拿过输出-1 
'A'堆:(1 2 3 9)     'B'堆:(5) 

想拿1 
'A'堆:(1 2 3 9)     'B'堆:(5) 
移动9:'A'堆:(1 2 3)     'B'堆:(5 9) 
移动3:'A'堆:(1 2)     'B'堆:(5 9 3) 
移动2:'A'堆:(1)     'B'堆:(5 9 3 2)
拿到1(移动3个文件) 
'A'堆:(1 2 3 9)     'B'堆:(5) 
想拿6 
6不存在输出-1  

来源/分类