#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define maxn 25
using namespace std;
int n,ans[maxn],in,map[maxn],dp[maxn][maxn];
void solve()
{
for(int i=0; i<maxn; i++)
{
dp[0][i]=dp[i][0]=0;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(ans[i]==map[j])dp[i][j]=dp[i-1][j-1]+1;
else if(dp[i][j-1]>dp[i-1][j])dp[i][j]=dp[i][j-1];
else dp[i][j]=dp[i-1][j];
}
}
cout<<dp[n][n]<<endl;
}
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>in;
ans[in]=i;
}
while(cin>>in)
{
map[in]=1;
for(int i=2; i<=n; i++)
{
cin>>in;
map[in]=i;
}
solve();
}
}
uva-111
最新推荐文章于 2019-10-31 23:45:00 发布