Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <math.h>#include<string>#include<string.h>#include<stdlib.h>#include<queue>#include<algorithm>#include<unordered_map>#include<stack>#include<fstream>#include<map>#include<time.h>using namespace std;const int N = 2110;int dp[N][N];int f[N][N];char s1[N];char s2[N];int main(){s1[0] = s2[0] = 'a';memset(dp, 0, sizeof(dp));memset(f, 0, sizeof(f));scanf("%s", s1+1);scanf("%s", s2+1);int ans = 0;for(int i = 1; s1[i] != '\0'; i++)for(int j = 1; s2[j] != '\0'; j++){if(s1[i] == s2[j])f[i][j] = f[i-1][j-1] + 1;