@[intmain](/space/show?uid=64018) 你是就这一个点错还是全错?
还有你开了完全隐私保护我看不到luogu的反馈
by ztz11 @ 2018-07-04 08:54:48
AC 代码;
```cpp
#include <iostream>
#include <cstdio>
#include <cstring>
#define rii register int i
using namespace std;
int bj[200005],dl[200005],length,sd[200005],x,y,t;
int bfs()
{
memset(bj,0,sizeof(bj));
memset(dl,0,sizeof(dl));
memset(sd,0,sizeof(sd));
sd[1]=0;
length=1;
dl[1]=x;
bj[x]=1;
for(rii=1;i<=length;i++)
{
if(dl[i]==y)
{
return sd[i];
}
if(bj[2*dl[i]]!=1&&dl[i]*2<2*y)
{
length++;
sd[length]=sd[i]+1;
dl[length]=2*dl[i];
bj[2*sd[i]]=1;
}
if(bj[dl[i]+1]!=1&&dl[i]+1<2*y)
{
length++;
sd[length]=sd[i]+1;
dl[length]=dl[i]+1;
bj[dl[i]+1]=1;
}
if(bj[dl[i]-1]!=1&&dl[i]-1>=0)
{
length++;
sd[length]=sd[i]+1;
dl[length]=dl[i]-1;
bj[dl[i]-1]=1;
}
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&x,&y);
int cnt=0;
while(y%2==0)
{
y/=2;
cnt++;
if(y<=x)
{
y*=2;
cnt--;
break;
}
}
int ans=bfs();
printf("%d\n",ans+cnt);
}
}
```
by ztz11 @ 2018-07-04 08:55:40