Vi khuẩn

Xem dạng PDF

Gửi bài giải

Điểm: 50,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: BACTERIA.INP
Output: BACTERIA.OUT

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch

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

Steve đang nghiên cứu một chủng loại vi khuẩn mới. Số vi khuẩn trên đĩa Petry (đĩa nuôi cấy vi khuẩn) hiện đang có ~n~ cá thể (~1 \le n \le 1000~). Với mỗi số nguyên tố ~p~, Steve có thể điều chế chất ~C_{p}H_{2p+1}OH~. Khi cho chất này vào đĩa Petry, nếu ~n~ chia hết cho ~p~ thì số vi khuẩn sẽ giảm đi đúng ~p~ lần. Nếu ~n~ không chia hết cho ~p~ – kết quả sẽ là bất định và điều này sẽ cản trở các nghiên cứu tiếp theo.

Trong phòng thí nghiệm, Steve có một số lượng không hạn chế Acid điatilamid lizergin (~C_{20}H_{25}N_3O~). Nếu cho acid này vào đĩa cấy vi khuẩn, sau một thời gian ngắn số vi khuẩn sẽ tăng thành bình phương của số lượng trước khi cho. Tuy nhiên do diện tích đĩa Petry có giới hạn nên không thể chứa được số lượng vi khuẩn quá ~C~ cá thể (~1 \le C \le 1.000.000~).

Yêu cầu: Cho các số nguyên ~n, m~ và ~C~ (~1 \le n, m \le 1.000.000~). Hãy xác định quy trình cho hóa chất với ít bước nhất để có được đúng ~m~ vi khuẩn hoặc đưa ra thông báo Impossible nếu không thể nhận được số vi khuẩn cần thiết.

Input

  • Gồm một dòng chứa 3 số nguyên ~n, m~ và ~C~.

Output

  • Thông báo Impossible nếu không thể nhận được số vi khuẩn cần thiết, ngược lại nếu có cách làm thì:
    • Dòng 1 đưa ra số ~k~ là số bước ít nhất.
    • Dòng 2 đưa ra dãy ~k~ số nguyên, mỗi số tương ứng với một lần cho hóa chất vào đĩa cấy, số nguyên thứ ~i~ là 0 nếu cho ~C_{20}H_{25}N_3O~ và là ~p~ nếu cho ~C_{p}H_{2p+1}OH~. Các số cách nhau ít nhất một dấu cách.

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.