Chia hết cho 25

Đề bài

Mô tả

Cho một số nguyên n (không có chữ số 0 đứng đầu).

Mỗi bước, bạn được phép đổi chỗ hai chữ số kề nhau của số hiện tại, với điều kiện sau khi đổi số thu được vẫn không có chữ số 0 đứng đầu.

Hãy tìm số bước ít nhất để biến n thành một số chia hết cho 25. Nếu không thể, in ra 1.

Dữ liệu vào

  • Một dòng duy nhất chứa số nguyên n.

Dữ liệu ra

  • Một số nguyên: số bước ít nhất cần thực hiện, hoặc 1 nếu không thể tạo được số chia hết cho 25.

Ràng buộc

  • 1n1018.
  • Chữ số đầu tiên (bên trái) của n khác 0.

Ví dụ

Input Output Giải thích
5071 4 Một dãy biến đổi: 5071 → 5701 → 7501 → 7510 → 7150. Số 7150 chia hết cho 25.
705 1 Đổi chỗ hai chữ số cuối: 705 → 750. Số 750 chia hết cho 25.
1241367 -1 Các chữ số không chứa 0 hay 5 nên không thể tạo được đuôi 00, 25, 50 hay 75.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0