小王播报:又是痛苦面具!!!
样例输出0,对比了一下题解,布吉岛拿出了问题,请求大佬指正!Thanks♪(・ω・)ノ
#include<bits/stdc++.h>
using namespace std;
int a[100010];
bool b[100010];
queue<int> q;
int main(){
int t,x,y;
cin>>t;
for(int i=1;i<=t;i++){
cin>>x>>y;
while(!q.empty())q.pop();
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
b[x]=1;
q.push(x);
while(!q.empty()){
int x1=q.front();
q.pop();
if(x1==y){
cout<<a[x1];
break;
}
int w=2*x1;
int px[2]={1,-1};
for(int j=0;j<2;j++){
int u=x1+px[j];
if(u>=1 && u<=100005 && b[u]==0)q.push(u);
}
if(w>=1 && w<=100005 && b[w]==0)q.push(w);
}
}
return 0;
}