Chia hết cho 3

Đề bài

Mô tả

Cho một số nguyên dương n được viết trên bảng, gồm không quá 105 chữ số và không có chữ số 0 ở đầu.

Bạn cần biến n thành một số đẹp bằng cách xóa đi một số chữ số, và muốn xóa càng ít chữ số càng tốt. Các chữ số bị xóa không nhất thiết phải liền nhau.

Một số được gọi là đẹp nếu nó thỏa mãn cả ba điều kiện:

  • có ít nhất một chữ số;
  • không có chữ số 0 ở đầu (riêng số 0 gồm đúng một chữ số được coi là hợp lệ);
  • chia hết cho 3.

Ví dụ, 0, 99, 10110 là các số đẹp, còn 00, 03, 122 thì không.

Hãy tìm một số đẹp bất kỳ nhận được từ n bằng cách xóa đi ít chữ số nhất có thể. Nếu không thể tạo ra số đẹp nào, hãy in ra 1. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên n không có chữ số 0 ở đầu (1n<10100000).

Dữ liệu ra

In ra một số đẹp bất kỳ nhận được bằng cách xóa ít chữ số nhất. Nếu không tồn tại, in ra 1.

Ràng buộc

  • n có không quá 105 chữ số.
  • n không có chữ số 0 ở đầu.

Ví dụ

Input Output Giải thích
1033 33 Chỉ cần xóa chữ số đầu là được số chia hết cho 3, nhưng khi đó lại có chữ số 0 ở đầu. Vì vậy phải xóa ít nhất hai chữ số, thu được 33.
10 0 Không thể giữ lại số nào khác chia hết cho 3 mà không có chữ số 0 ở đầu, nên đáp án là chính chữ số 0.
11 -1 Không thể tạo ra số đẹp nào.

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