Mọi người cho em xin ý tưởng về bài này ạ.
Khánh vừa mới học phương pháp chuyển đổi giữa các hệ cơ số khác nhau. Nhưng cậu ta thường hay sai sót khi ghi lại các dãy số vừa chuyển đổi. Mỗi khi chuyển đổi một số từ hệ cơ số này sang hệ cơ số khác và ghi lại dãy kết quả, cậu ta luôn luôn viết sai một số ở một vị trí nào đó trong dãy kết quả.
Ví dụ, khi chuyển đổi số 14 từ hệ cơ số 10 sang hệ cơ số 2, kết quả đúng phải là “1110”, nhưng Khánh có thể viết thành “0110” hoặc “1111” hoặc “1100” hoặc “1010”. Khánh không bao giờ thêm hoặc bớt bất kỳ số nào trong dãy kết quả, và vì thế nếu có chữ số “0” ở vị trí đầu tiên thì vị trí đó là vị trí mà cậu ta đã viết sai.
Yêu cầu: Cho biết dãy kết quả khi chuyển số N (ở hệ cơ số 10) thành hệ cơ số 2 và 3 (trong đó có đúng 1 vị trí sai). Hãy xác định giá trị chính xác của N, biết rằng số N lớn nhất có thể là 109, và có duy nhất một số N trong một test.
Dữ liệu vào: cho trong file digits.inp gồm:
- Dòng 1: Chứa dãy số ở hệ cơ số 2 của N, với đúng một chữ số được viết không chính xác.
- Dòng 2. Chứa dãy số ở hệ cơ số 3 của N, với đúng một chữ số được viết không chính xác.
Kết quả: ghi vào file digits.out một số nguyên duy nhất là giá trị chính xác của số N.
input :
1010
212
output
14
giải thích: Chỉ có thể là cặp số: “1110” ở hệ 2 và “112” ở hệ 3 là thỏa mãn với N=14