蒟蒻的代码,样例都没过:
#include<bits/stdc++.h>
using namespace std;
int n,dp[3010][3010],ans;
char s1[3010],s2[3010];
int main(){
scanf("%d%s%s",&n,s1+1,s2+1);
for(int k=1;k<=n;k++){
memset(dp,0,sizeof(dp));
dp[0][0]=1;
for(int i=1;i<=n;i++){
dp[i][0]=1;
for(int j=1;j<=n-k+1;j++){
dp[i][j]=dp[i-1][j];
if(s1[i]==s2[k+j-1]) dp[i][j]+=dp[i-1][j-1];
}
}
for(int j=1;j<=n-k+1;j++) ans+=dp[n][j];
}
printf("%d",ans);
return 0;
}
哪位好心的dalao能帮我调调呢?