CSES - Edit Distance | Khoảng cách chỉnh sửa

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Khoảng cách chỉnh sửa giữa hai xâu là số lượng thao tác tối thiểu cần thiết để chuyển đổi một xâu thành xâu kia.

Các thao tác được phép là:

  • Thêm một ký tự vào xâu
  • Xóa một ký tự khỏi xâu
  • Thay thế một ký tự trong xâu

Ví dụ: khoảng cách chỉnh sửa giữa LOVEMOVIE\(2\), vì trước tiên bạn có thể thay thế L bằng M, sau đó thêm I.

Nhiệm vụ của bạn là tính toán khoảng cách chỉnh sửa giữa hai xâu.

Input

  • Dòng đầu tiên có một xâu chứa \(n\) ký tự trong khoảng từ AZ
  • Dòng thứ hai có một xâu chứa các ký tự \(m\) trong khoảng từ AZ

Constraints

  • \(1 \leq n \leq 5000\)

Output

  • In một số nguyên: khoảng cách chỉnh sửa giữa các xâu

Example

Test 1

Input
LOVE
MOVIE
Output
2
Note

Để chuyển từ LOVE thành MOVIE, ta thực hiện 2 bước:

  1. Thay thế L bằng M
  2. Thêm I vào xâu

Bình luận (3)

Mới nhất
Tải bình luận...