50分求助
查看原帖
50分求助
857804
Doufu_killer楼主2024/1/28 11:28

代码献上:

#include <bits/stdc++.h>
using namespace std;
#define ull unsigned long long
#define INF 1001
ull n;
ull dp[INF][INF] = {0};
ull in1[INF] = {0};
ull in2[INF] = {0};
void in()
{
  cin >> n;
  for (ull i = 1; i <= n; i++)
    cin >> in1[i];
  for (ull i = 1; i <= n; i++)
    cin >> in2[i];
}
ull LCS()
{
  for (ull i = 1; i <= n; i++)
  {
    for (ull j = 1; j <= n; j++)
    {
      dp[i][j] = max(dp[i][j - 1], dp[i - 1][j]);
      if (in1[i] == in2[j])
        dp[i][j] = max(dp[i][j], dp[i - 1][j - 1] + 1);
    }
  }
  return dp[n][n];
}
int main()
{
  in();
  ull a = LCS();
  cout << a << endl;
  return 0;
}

半对半错,大佬求助!!

在线等!!

2024/1/28 11:28
加载中...