首先如果x==y,不需要操作。
如果只执行一次操作二让x和y相等,只有当y=0的情况,所以当y=0时只需要一次操作。同理,当x==0时,可以通过操作一+操作二实现。
考虑两次操作二,x和y分别变为2x, 2y, 这并没有改变什么,考虑两次操作二中加入一次操作一,x和y分别变为2x,-2y,所以第三种情况只有当x和y是相反数的时候才能满足。否则怎么都无法实现x和y相等,输出-1
给出两个整数X,Y,你可以任意顺序多次执行以下两个操作。求出使得X=Y时所需的最少操作次数。如果无法实现,则输出-1
令经过一次操作后X和Y的值分别为X′和Y′
操作一:X′=Y,Y′=X
操作二:X′=X+Y,Y′=X−Y
输入的第一行给出两个整数X,Y
−100≤X,Y≤100
输出使得X=Y时所的最少得作次教,如果无法实现,则输出-1
输入
5 8
输出
-1
输入
5 -5
输出
3