3 条题解

  • 0
    @ 2025-4-11 20:48:18
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N = 2001 ;
    int dp[N][N];
    signed main(){
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	string s1,s2;cin>>s1>>s2;
    	int n = s1.size();
    	int m = s2.size();
    	for(int i=0;i<=s1.size();i++) dp[i][0] = i;
    	for(int j=0;j<=s2.size();j++) dp[0][j] = j;
    	
    	for(int i=1;i<=s1.size();i++){
    		for(int j=1;j<=s2.size();j++){
    			if(s1[i-1] == s2[j-1])
    			dp[i][j] = dp[i-1][j-1];
    			else
    			dp[i][j] = min({dp[i-1][j-1],dp[i-1][j],dp[i][j-1]})+1;
    		}
    	}
    	cout<<dp[n][m];
    	return 0;
    }
    
    

    信息

    ID
    124
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    289
    已通过
    74
    上传者