最大公共子串的长度模板

xiaoxiao2021-02-27  526

#include<stdio.h> #include<iostream> #include<string.h> using namespace std; char a[1003],b[1003]; int dp[1003][1003],len; int main() { int num; scanf("%d",&num); getchar(); while(num--) { int i,j,k=0; scanf("%s",a); len=strlen(a); for(i=0;i<len;i++) b[i]=a[len-i-1]; memset(dp,0,sizeof(dp)); for(i=0; i<len; i++) for(j=0; j<len; j++) { if(a[i]!=b[j]) dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]); else dp[i+1][j+1]=dp[i][j]+1; } printf("%d\n",dp[len][len]); } }
转载请注明原文地址: https://www.6miu.com/read-1863.html

最新回复(0)