70018 - 2025-csp-j真题-阅读程序3
统计题目(材料题)
1 #include <algorithm>
2 #include <cstdio>
3 #include <cstring>
4 #define ll long long
5 int f[5007][5007];
6 int a[5007], b[5007];
7 int n;
8
9 int main() {
10 scanf("%d", &n);
11 for (int i = 1; i <= n; ++i) {
12 scanf("%d", &a[i]);
13 }
14 for (int i = 1; i <= n; ++i) {
15 scanf("%d", &b[i]);
16 }
17 for (int i = 1; i <= n; ++i) {
18 for (int j = 1; j <= n; ++j) {
19 f[i][j] = std::max(f[i][j], std::max(f[i - 1][j], f[i][j - 1]));
20 if (a[i] == b[j]) {
21 f[i][j] = std::max(f[i][j], f[i - 1][j - 1] + 1);
22 }
23 }
24 }
25 printf("%d\n", f[n][n]);
26 return0;
27 }
||

关注我们