#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;
const int maxn=100005;
bool vis[maxn];
int a[maxn];
int main()
{
int s,b,next;
queue<int>q;
while(cin>>s>>b)
{
if(s>b) cout<<s-b<<endl;
else
{
if(!q.empty()) q.pop();
memset(vis,0,sizeof(vis));
memset(a,0,sizeof(a));
q.push(s);
vis[s]=true;
while(!q.empty())
{
int x=q.front();
q.pop();
for(int i=0;i<3;i++)
{
if(i==0) next=x-1;
if(i==1) next=x+1;
if(i==2) next=2*x;
if(next<0||next>maxn||vis[next]==1) continue;
vis[next]=true;
q.push(next);
a[next]=a[x]+1;
if(next==b) break;
}
}
cout<<a[b]<<endl;
}
}
return 0;
}
Catch That Cow
最新推荐文章于 2021-02-24 12:03:50 发布