AcWing 3508. 最长公共子串
原题链接
简单
作者:
小轩喵灬
,
2023-03-19 16:27:23
,
所有人可见
,
阅读 33
dp 暴力 O(N2)
#include<iostream>
#include<string>
#include<ctype.h>
using namespace std;
const int N = 10010;
short dp[N][N];
string a,b;
int main() {
cin >> a >> b;
a = ' '+ a;
b = ' '+ b;
int la = a.length(), lb = b.length();
short cnt = 0;
for(int i = 1; i <= la; i++) {
for(int j = 1; j <= lb; j++) {
if (a[i] == b[j] && isalpha(a[i]) && isalpha(b[j])) {
dp[i][j] = max(dp[i][j], short(dp[i-1][j-1] + 1));
}
cnt = max(cnt, dp[i][j]);
}
}
cout<<cnt;
return 0;
}