HSG10 Thái Nguyên 2026 - Biến đổi số

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

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

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một số nguyên dương ~N~. Ta thực hiện thao tác thay đổi các chữ số của ~N~ theo quy tắc sau:

  • Chọn một vị trí bất kỳ trong chuỗi chữ số của ~N~.

  • Thay thế chữ số tại vị trí đó bằng một chữ số mới (từ 0 đến 9).

  • Điều kiện: Số mới được tạo thành phải có cùng số lượng chữ số với ~N~ và không được có chữ số 0 ở đầu.

Mỗi lần thay đổi một vị trí được tính là một thao tác.

Yêu cầu: Hãy tìm số thao tác tối thiểu để biến đổi số ~N~ ban đầu thành một số mới là bội của 111.

Input

  • Dòng 1: số nguyên ~T~ ~(1 \le T \le 25)~ là số lượng bộ dữ liệu.

  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~N~.

Output

Gồm ~T~ dòng tương ứng với kết quả của ~T~ bộ dữ liệu. Mỗi dòng là một số nguyên đại diện cho số thao tác tối thiểu tìm được hoặc -1 nếu không có phương án thỏa mãn.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ Mỗi số nguyên có số lượng chữ số ~\le 9~ và có nhiều nhất một chữ số khác các chữ số còn lại
2 ~40\%~ ~T \le 10~, mỗi số nguyên có số chữ số ~\le 9~
3 ~30\%~ ~T \le 25~, mỗi số nguyên có số chữ số ~\le 18~

Sample Input 1

4
111
220
13
991990

Sample Output 1

0
1
-1
2

Notes

Có 4 bộ dữ liệu:

  • Số 111 không cần biến đổi.

  • Số 220 không chia hết cho 111. Ta có thể thay chữ số 0 ở cuối thành chữ số 2 để được số 222 chia hết cho 111.

  • Số 13 không thể biến đổi để chia hết cho 111.

  • Số 991990 cần biến đổi hai chữ số ở vị trí 3 và vị trí 6 để được số 999999 chia hết cho 111.


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.