#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <map>
#include <algorithm>
#define maxn 250*250 + 10
#define ll long long
#define INF 1000000000
#define FOR(i, a, b) for(int i = a; i < b; ++i)
using namespace std;
int main()
{
int kase = 0, t;
scanf("%d", &t);
while(t--)
{
int n, p, q;
int a[maxn], b[maxn], g[maxn], len_b = 0, num;
scanf("%d%d%d", &n, &p, &q);
memset(a, 0, sizeof(a));
FOR(i, 1, p+2) {scanf("%d", &num); a[num] = i;}
FOR(i, 1, q+2) {
scanf("%d", &num);
if(a[num]) b[len_b++] = a[num];
}
FOR(i, 0, len_b+1) g[i] = INF;
int ans = 0;
int ss[maxn];
FOR(i, 0, len_b){
int k = lower_bound(g+1, g+len_b+1, b[i]) - g;
//ss[i] = k;
g[k] = b[i];
ans = max(ans, k);
}
//FOR(i, 0, len_b) printf("%d ", ss[i]); printf("\n");
printf("Case %d: %d\n", ++kase, ans);
}
return 0;
}
uva 10635 - Prince and Princess
最新推荐文章于 2020-07-08 11:56:16 发布