Huawei OD 컴퓨터 테스트 - 두 문자열(Java & JS & Python & C) 사이의 최단 경로 문제

질문 설명

두 개의 문자열, 각각 문자열 A와 문자열 B가 주어졌습니다.

예를 들어 A 문자열은 "ABCABBA", B 문자열은 "CBABAC" 아래와 같이 m*n의 2차원 배열을 얻을 수 있습니다. 원점은 (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입니다.

설명 입력

공백으로 구분된 두 문자열 A와 문자열 B

  • 문자열이 "빈 문자열"이 아닙니다.
  • 문자 형식은 다음 규칙을 준수합니다: [AZ]
  • 문자열 길이

Supongo que te gusta

Origin blog.csdn.net/qfc_128220/article/details/134759904
Recomendado
Clasificación