CF490D Chocolate
题目描述
Polycarpus 喜欢给 Paraskevi 送礼物。他买了两块巧克力,每块巧克力都呈现为一个由小矩形组成的大矩形。第一块的尺寸为 $a_{1} \times b_{1}$,第二块为 $a_{2} \times b_{2}$。
Polycarpus 想在午休时把其中一块巧克力送给 Paraskevi,自己吃另一块。并且,他想表达 Polycarpus 的智慧与 Paraskevi 的美丽相得益彰,因此要求两块巧克力剩下的方格数量必须一样。
为使两块巧克力剩下的方格数量一致,Polycarpus 每分钟会吃掉一点巧克力。每分钟他可以执行以下操作之一:
- 将一块巧克力沿着某个方向(竖直或水平)刚好从中间分开,吃掉其中的一半;
- 或者,将一块巧克力沿着某个方向(竖直或水平)刚好分出三分之一,吃掉这三分之一。
第一种情况下,巧克力剩下另一半;第二种情况下,巧克力剩下三分之二。
上述两种方式不一定总是可行,有时 Polycarpus 可能既不能吃掉半块,也不能吃掉三分之一。例如,如果巧克力大小为 $16 \times 23$,则他能吃掉一半,但不能吃掉三分之一;如果巧克力大小为 $20 \times 18$,则两种吃法都可以;若为 $5\times 7$,则两种都不可行。
问要让两块巧克力剩下的方格数相同,Polycarpus 至少需要几分钟?不仅要输出所需的最小分钟数,还要输出处理结束后两块巧克力的可能尺寸。
输入格式
输入为一行,表示 Polycarpus 买的两块巧克力的尺寸。第一块尺寸为 $a_{1}\times b_{1}$,第二块为 $a_{2}\times b_{2}$。
Polycarpus 想在午休时把其中一块巧克力送给 Paraskevi,自己吃另一块。并且,他想表达 Polycarpus 的智慧与 Paraskevi 的美丽相得益彰,因此要求两块巧克力剩下的方格数量必须一样。
为使两块巧克力剩下的方格数量一致,Polycarpus 每分钟会吃掉一点巧克力。每分钟他可以执行以下操作之一:
- 将一块巧克力沿着某个方向(竖直或水平)刚好从中间分开,吃掉其中的一半;
- 或者,将一块巧克力沿着某个方向(竖直或水平)刚好分出三分之一,吃掉这三分之一。
第一种情况下,巧克力剩下另一半;第二种情况下,巧克力剩下三分之二。
上述两种方式不一定总是可行,有时 Polycarpus 可能既不能吃掉半块,也不能吃掉三分之一。例如,如果巧克力大小为 $16 \times 23$,则他能吃掉一半,但不能吃掉三分之一;如果巧克力大小为 $20 \times 18$,则两种吃法都可以;若为 $5\times 7$,则两种都不可行。
问要让两块巧克力剩下的方格数相同,Polycarpus 至少需要几分钟?不仅要输出所需的最小分钟数,还要输出处理结束后两块巧克力的可能尺寸。
输出格式
第一行输出 $m$,表示所需的最小分钟数。第二、三行各输出一次操作后的两块巧克力的可能尺寸,格式与输入相同。输出顺序不做要求,但第二行为第一块,第三行为第二块巧克力的尺寸。如果有多组解,输出任意一组即可。
如果无解,则输出一行,内容为 -1。
说明/提示
由 ChatGPT 5 翻译