[ClueOJ x QTOJ] Thi thử TS10 2025 - Khóa số

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: lock.inp
Output: lock.out

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Có lẽ, chúng ta đã quá quen thuộc với chiếc khóa số.

Sau một thời gian tìm hiểu, noodles0428 nhận ra không phải chiếc khóa số nào có thể xoay theo cả ~2~ chiều. Có những cái chỉ có thể xoay về bên phải (xoay từ số ~0~ sang ~1~, hoặc từ số ~1~ sang ~2~, ..., hoặc từ số ~9~ sang ~0~), có những cái chỉ có thể xoay về bên trái (xoay từ số ~0~ sang ~9~, hoặc từ số ~2~ sang ~1~, ..., hoặc từ số ~9~ sang ~8~), và tất nhiên, cũng có những cái có thể xoay theo cả ~2~ chiều (bao gồm cả xoay về bên phải và xoay về bên trái).

noodles0428 quyết định mua ổ khóa có loại ~k~ gồm ~4~ số, loại của ổ khóa này được định nghĩa như sau:

  • ~k = 1~: ổ khóa chỉ có thể xoay về bên phải.
  • ~k = 2~: ổ khóa chỉ có thể xoay về bên trái.
  • ~k = 3~: ổ khóa có thể xoay theo cả ~2~ chiều.

Trạng thái ổ khóa khi mới mua hiện tại có dạng là xxxx, cô ấy tự hỏi, số thao tác tối thiểu để đưa ổ khóa về đúng mã số yyyy là bao nhiêu?

Lưu ý, mỗi lần xoay sang một số mới là một thao tác. Ví dụ cô ấy muốn xoay sang bên phải từ số ~1~ sang số ~3~ với loại ổ khóa ~1~, cô ấy cần ~2~ thao tác với trạng thái xoay là ~1~ => ~2~ => ~3~.

INPUT: Nhập từ file LOCK.INP

Dòng đầu tiên gồm số nguyên dương ~k~ (~1 \le k \le 3~) là loại của ổ khóa này.

Dòng thứ hai gồm bốn chữ số viết liền nhau, là trạng thái hiện tại của ổ khóa (xxxx)

Dòng thứ ba gồm bốn chữ số viết liền nhau, là mã số đúng của ổ khóa (yyyy)

OUTPUT: Xuất ra file LOCK.OUT

Dòng duy nhất là số thao tác tối thiểu cần sử dụng để đưa ổ khóa về đúng mã số.

SAMPLE INPUT 1

1
2345
4569

SAMPLE OUTPUT 1

10

SAMPLE INPUT 2

2
9874
8833

SAMPLE OUTPUT 2

6

SUBTASKS

Subtask Điểm Ràng buộc
1 ~40~ ~k = 1~.
2 ~40~ ~k = 2~.
3 ~20~ Không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.