#include <bits/stdc++.h>
using namespace std;
int ans = INT_MAX;
void dfs(int x,int y,int t)
{
if(t>20)return ;
if(x==y)
{
ans = min(ans,t);
return ;
}
dfs(y,x,t+1);
dfs(x+y,x-y,t+1);
}
int main()
{
int x,y;
cin>>x>>y;
dfs(x,y,0);
if(ans!=INT_MAX)cout<<ans<<'\n';
else cout<<-1<<'\n';
return 0;
}
最会蒙的一集,数据量很小,显然操作的次数不会很大,所以我尝试设置了递归深度20次

京公网安备 11010502036488号