import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); String t = scanner.nextLine(); scanner.close(); int sLen = s.length(); int tLen = t.length(); // 因为t的长度不小于s,所以至少有一个可能的子串 int minOperations = Integer.MAX_VALUE; // 遍历t中所有与s长度相同的子串 for (int i = 0; i <= tLen - sLen; i++) { int operations = 0; // 计算将s转换为当前子串所需的操作次数 for (int j = 0; j < sLen; j++) { char sChar = s.charAt(j); char tChar = t.charAt(i + j); // 计算两个字符之间的最小替换次数 operations += minSteps(sChar, tChar); } // 更新最小操作次数 if (operations < minOperations) { minOperations = operations; } } System.out.println(minOperations); } // 计算两个字符之间的最小替换次数 private static int minSteps(char a, char b) { int diff = Math.abs(a - b); // 替换可以向前或向后,取较小值 return Math.min(diff, 26 - diff); } }