hdu 1423

View Code
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int len[501];
int a[501],b[501];
int main()
{
int cas;int n,m;
scanf("%d",&cas);
while(cas--)
{
memset(len,0,sizeof(len));
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(int i=1;i<=m;i++)
scanf("%d",&b[i]);
len[0]=-1;
int locate;
for(int i=1;i<=n;i++)
{
locate=0;
for(int j=1;j<=m;j++)
{
if(b[j]<a[i]&&len[j]>len[locate])
locate=j;
if(b[j]==a[i])
{
if(!locate) len[j]=1;
else len[j]=len[locate]+1;
}
}
}
int max=-1;
for(int i=1;i<=n;i++)
if(len[i]>max)
max=len[i];
printf("%d\n",max);
if(cas) printf("\n");
}
return 0;
}
posted @ 2012-03-18 19:57  静静的等待_93  阅读(236)  评论(0编辑  收藏  举报