[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, Kotlin, Pascal, PyPy, Python, Scratch, TEXT

Lưu ý trước khi làm contest:

  • Nếu bạn là học sinh lớp 9 trở xuống, HOẶC sinh từ năm 2010 trở về sau, hãy gửi giấy tờ chứng minh tuổi của bạn vào đây trước ~00:00~ ngày ~19/05/2025~ để được đưa vào danh sách nhận thưởng. Quá thời gian trên, bạn sẽ không đủ điều kiện nhận thưởng dù đạt top.
  • Điểm chỉ tính ở bài nộp cuối cùng, không phải bài có điểm cao nhất. Đồng thời, kết quả chấm không được hiển thị cho thí sinh. Tuy vậy, nếu bạn tìm ra bất kỳ cách nào để biết trước kết quả (dù một phần hay toàn bộ), hãy thông báo cho chúng mình nhé!
  • Nếu các bạn có thắc mắc nào về đề bài, hãy gửi thắc mắc bằng nút "Gửi thắc mắc" ở phía dưới mỗi bài.
  • Các bạn lưu ý mỗi tài khoản chỉ được làm bởi một người, cũng như không sử dụng bất cứ công cụ trí tuệ nhân tạo nào trong quá trình làm bài. Do tính chất của kỳ thi là offline, các bạn cũng nên hạn chế sử dụng code có sẵn.

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.