11pts求调
查看原帖
11pts求调
1237669
封禁用户楼主2025/1/24 09:55
#include <bits/stdc++.h>
using namespace std;
const int max_=2005;
int dp[max_][max_];
int f(string s,string t){
    int n=s.size(),m=t.size();
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            if(!i){
                dp[i][j]=j;
            }else if(!j){
                dp[i][j]=i;
            }else if(s[i-1]==t[i-1]){
                dp[i][j]=dp[i-1][j-1];
            }else{
                dp[i][j]=1+min(dp[i][j-1],min(dp[i-1][j],dp[i-1][j-1]));
            }
        }
    }
    return dp[n][m];
}
int main()
{
    string s,t;
    cin>>s>>t;
    cout<<f(s,t)<<'\n';
    return 0;
}
2025/1/24 09:55
加载中...