Số đẹp
Xem PDFTrong bài thi sáng tạo lần này có một sản phẩm trò chơi tên "Số đẹp" được mô tả như sau: Bạn được cho một số tự nhiên \(N\). Hãy sử dụng ít thao tác nhất để đưa số \(N\) về thành số đẹp. Trong đó: Số đẹp được định nghĩa là số chỉ gồm toàn chữ số \(3\) hoặc chỉ gồm toàn chữ số \(7\) hoặc nếu gồm cả chữ số \(3\) và chữ số \(7\) thì các chữ số \(3\) đều đứng trước chữ số \(7\).
Ví dụ:
- Số đẹp: \(3, 77, 37, 337, \dots\)
- Không phải số đẹp: \(1, 36, 89, 733, \dots\)
Các chữ số của \(N\) được chia vào \(N\) ô như hình vẽ, mỗi ô có hai phím mũi tên lên và xuống:
- Mũi tên lên: Tăng chữ số đó lên \(1\) đơn vị. Nếu số hiện tại là \(9\) thì số sau khi tăng là số \(0\).
- Mũi tên xuống: Giảm chữ số đó đi \(1\) đơn vị. Nếu chữ số hiện tại là \(0\) thì sau khi giảm sẽ là \(9\).
Phần thưởng của trò chơi là chuyến du lịch Quảng Nam và tham sự vòng chung kết Tin học trẻ năm nay, vì cậy thí sinh nào cũng thích tham gia trò chơi.
Yêu cầu: Bạn hãy lập trình giúp ban giám khảo xem thí sinh cần sử dụng ít nhất bao nhiêu lần ấn phím mũi tên để số nhận được là số đẹp.
Input
- Nhập vào một số tự nhiên \(N\) \((0 < N \le 10^{15})\).
Output
- Ghi ra một số là số lượt ấn phím mũi tên ít nhất để chuyển từ \(N\) thành số đẹp.
Scoring
- Subtask \(1\) (\(40\) điểm): \(N < 10^4\).
- Subtask \(2\) (\(60\) điểm): \(N \le 10^{15}\).
Example
Test 1
Input
1
Output
2
Note
Ấn phím mũi tên lên 2 lần để đạt được số 3 là số đẹp
Test 2
Input
37
Output
0
Note
Không cần ấn lần nào vì số \(N\) đã là số đẹp.
Test 3
Input
643
Output
4
Note
- Ấn mũi tên lên \(1\) lần ở chữ số \(6\) để tạo thành chữ số \(7\). Ấn mũi tên xuống \(1\) lần ở chữ số \(4\) để tạo thành chữ số \(3\). Cách này ra số \(733\) chỉ mất \(2\) lần ấn nhưng số \(733\) không phải là số đẹp vì chữ số \(7\) đứng trước chữ số \(3\).
- Vì vậy ta sử dụng cách sau: Ấn mũi tên xuống \(3\) lần ở chữ số \(6\) để được chữ số \(3\). Ấn mũi tên xuống \(1\) lần ở chữ số \(4\) để được chữ số \(3\). Ta thu được số đẹp \(333\) sau \(4\) lần ấn.
Test 4
Input
4079
Output
6
Note
- Ấn mũi tên xuống 1 lần ở chữ số 4 đề tạo thành chứ số 3.
- Ấn mũi tên lên 3 lần ở chữ số 0 để tạo thành chữ số 3.
- Ấn mũi tên xuống 2 lần ở chữ số 9 để tạo thành chữ số 7.
Như vậy tổng cộng cần ấn 6 lần.
Kỳ thi:
- Tin học trẻ A - Vòng Khu vực miền Trung 2022 (17 Tháng bảy, 2024)

Bình luận