B05 - Mật mã 30
Trạng thái
Đề bài
Trên một vách đá có ghi rất nhiều các con số bí ẩn mà nó có mối liên hệ với số 30. Sau một thời gian nghiên cứu, các chuyên gia đã tìm được cách giải mã các số đó như sau: hoán vị các chữ số của số bí ẩn để thu được một bội số lớn nhất của 30.
Hãy viết chương trình để các chuyên gia giải mã các số bí ẩn đó.
Dữ liệu vào
Một dòng duy nhất chứa số nguyên dương \(N\), với \(N\) có tối đa \(10^7\) chữ số là số cần giải mã.
Dữ liệu ra
Một số nguyên dương duy nhất, là số chia hết cho 30, tìm được bằng cách hoán vị các chữ số của \(N\).
Nếu không tìm được thì đưa ra -1.
Sample Input 1
1002
Sample Output 1
2100
Sample Input 2
123456789
Sample Output 2
-1
Giải thích
- Input
1002: Số2100là hoán vị lớn nhất của1002và chia hết cho30. - Input
123456789: Không tồn tại hoán vị nào chia hết cho30.
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
250 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
B02 - Thuật toán cơ bản : Sắp xếp, B05 - Thuật toán cơ bản : Mảng thống kê, đánh dấu
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text