问题 6653 --BFS练习---数对变换

6653: BFS练习---数对变换

时间限制: 1 Sec  内存限制: 128 MB
提交: 19  解决: 14
[提交][状态][命题人:]

题目描述

给出一个正整数对(x,y)。我们具有两类操作,第一类操作将x的值变为x+y或者将y的值变为x+y。第二类操作将x的值加一或者将y的值加一。

问最少多少次操作能把(x,y)变成(x',y')?

用公式来表示一次操作即为以下四种变换选其一


  • (x,y)->(x+y,y)
  • (x,y)->(x,x+y)
  • (x,y)->(x+1,y)
  • (x,y)->(x,y+1)


输入

输入两行

第一行数两个数x,y代表初始数对

第二行数两个数x',y'代表目标数对

所有输出均为正整数且小于等于1000

输出

输出一个数代表答案,即最少操作次数

若无法成功操作变换,输出-1

样例输入
Copy
4 5
6 10
样例输出
Copy
3

提示

来源

 

[提交][状态]