1045. Favorite Color Stripe (30)

#include <iostream>

using namespace std;

int fav[210], ori[10010], res[210][10010];

int getmax(int a, int b)
{
	if(a > b)
	{
		return a;
	}
	else
	{
		return b;
	}
}

int main()
{
	int n;
	scanf("%d", &n);

	int m;
	scanf("%d", &m);

	int i;
	for(i = 1; i <= m; i++)
	{
		scanf("%d", &fav[i]);
	}

	int l;
	scanf("%d", &l);

	for(i = 1; i <= l; i++)
	{
		scanf("%d", &ori[i]);
	}

	int j, max;
	for(i = 1; i <= m; i++)
	{
		for(j = 1; j <= l; j++)
		{
			max = getmax(res[i - 1][j], res[i][j - 1]);
			max = getmax(max, res[i - 1][j - 1]);

			if(fav[i] == ori[j])
			{
				max++;
			}

			res[i][j] = max;
		}
	}

	printf("%d\n", res[m][l]);

	system("pause");
	return 0;
}

 

posted on 2025-11-23 17:06  王景迁  阅读(0)  评论(0)    收藏  举报

导航