import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String str1=in.nextLine();
        String str2=in.nextLine();
        int m=str1.length();
        int n=str2.length();
        int[][] dp=new int[m+1][n+1];
        //dp[i][j]表示str1前i个与str2前j个字符的最小编辑距离
        //结果是dp[m][n];
        for(int i=0;i<=m;i++){
            dp[i][0]=i;
        }
        for(int i=0;i<=n;i++){
            dp[0][i]=i;
        }

        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(str1.charAt(i-1)==str2.charAt(j-1)){
                    dp[i][j]=dp[i-1][j-1];
                }else{
                    //两者不相等,需要考虑不同办法取最优
                    //1. 左边删掉 dp[i-1][j]+1
                    //2.右边删掉 dp[i][j-1]+1
                    //3.左边改成右边 dp[i-1][j-1]+1 前面相等即可
                    dp[i][j]=dp[i-1][j-1]+1;
                   dp[i][j]= Math.min(dp[i][j], dp[i-1][j]+1);
                   dp[i][j]= Math.min(dp[i][j], dp[i][j-1]+1);
                }

            }
        }
     System.out.println( dp[m][n]);

    }
}

还是要定义清楚dp[i][j]