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,
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).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