【2023华为od-C卷-第三题-两个字符串间的最短路径问题】(JavaScript&Java&Python&C++)

本题已有网友报告代码96%通过率

OJ &答疑服务

购买任意专栏,即可添加博主vx:utheyi,获取答疑/辅导服务

OJ权限获取可以在购买专栏后访问网站:首页 - CodeFun2000

题目描述

给定两个字符串,分别为字符串A与字符串B。例如A字符串为ABCABBA,B字符串为CBABAC可以得到m*n的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,

从原点(0,0)到(0,A)为水平边,距离为1,从(0,A)到(A,C)为垂直边,距离为1;假设两个字符串同一位置的两个字符相同则可以作一个斜边,如(A,C)到(B,B)最短距离为斜边,距离同样为1。作出所有的斜边,则有(0,0)到(B,B)的距离为 1个水平边+1个垂直边+1个斜边 =3。

根据定义可知,原点到终点的最短距离路径如下图红线标记,最短距离为9;
路径为(0,0)->(A,0)->(A,C)->(B,B)->(C,B)->(A,A)->(B,B)->(B,B)->(A,A)->(A,C)

输入描述

空格分割的两个字符串A与字符串B,字符串不为”空串”,字符格式满足

正则规则:[A-Z],

你可能感兴趣的:(java,华为od,c语言)