Chia đều sô cô la
Đề bài
Mô tả
Có hai thanh sô cô la hình chữ nhật, được chia thành các ô vuông đơn vị. Thanh thứ nhất có kích thước ô, thanh thứ hai có kích thước ô.
Ta muốn hai thanh có cùng số ô. Để làm điều đó, mỗi phút ta chọn một trong hai thanh và thực hiện đúng một trong hai thao tác sau:
- Bẻ đôi: chọn một cạnh có độ dài chẵn, cắt thanh thành hai nửa bằng nhau theo cạnh đó rồi ăn một nửa. Cạnh được chọn giảm còn một nửa.
- Cắt một phần ba: chọn một cạnh có độ dài chia hết cho , cắt đi đúng một phần ba thanh theo cạnh đó rồi ăn phần vừa cắt. Cạnh được chọn còn lại độ dài ban đầu.
Nếu một thanh không có cạnh nào chẵn và cũng không có cạnh nào chia hết cho thì không thể thao tác trên thanh đó nữa.
Hãy tìm số phút ít nhất để hai thanh có cùng số ô, đồng thời cho biết kích thước của hai thanh sau khi thực hiện.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và là kích thước ban đầu của thanh thứ nhất.
- Dòng thứ hai chứa hai số nguyên và là kích thước ban đầu của thanh thứ hai.
Dữ liệu ra
Nếu không thể làm cho hai thanh có cùng số ô, in ra một dòng duy nhất chứa .
Ngược lại, in ra ba dòng:
- Dòng đầu chứa là số phút ít nhất.
- Dòng thứ hai chứa kích thước của thanh thứ nhất sau khi thực hiện.
- Dòng thứ ba chứa kích thước của thanh thứ hai sau khi thực hiện.
Hai số trong mỗi dòng có thể in theo thứ tự bất kỳ. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 6 2 3 |
1 1 6 2 3 |
Thanh thứ nhất có ô, thanh thứ hai có ô. Bẻ đôi thanh thứ nhất theo cạnh ta được ô, bằng thanh thứ hai. Bẻ đôi cạnh để được cũng tối ưu và cũng được chấp nhận. |
| 36 5 10 16 |
3 16 5 5 16 |
Thanh thứ nhất cắt một phần ba hai lần theo cạnh : , còn ô. Thanh thứ hai bẻ đôi cạnh , còn ô. Tổng cộng phút. |
| 3 5 2 1 |
-1 | Bỏ hết thừa số và khỏi ta còn , còn bỏ khỏi ta còn . Hai phần dư khác nhau nên số ô không bao giờ bằng nhau được. |
Bình luận