这道题用dp咋么会错
代码:
#include<iostream>
#include<cstring>
using namespace std;
char s[1010],s1[1010];
int f[1010][1010];
int main(){
cin>>s>>s1;
for(int i=0;i<strlen(s);i++){
for(int j=0;j<strlen(s1);j++){
if(s[i]==s1[j]){
f[i+1][j+1]=f[i][j]+1;
}
else{
f[i+1][j+1]=max(f[i][j+1],f[i+1][j]);
}
}
}
cout<<f[strlen(s)][strlen(s1)];
return 0;
}