全wa,求助
查看原帖
全wa,求助
427590
SHENTONG_ZY楼主2021/11/24 13:17
#include<bits/stdc++.h>
using namespace std;
int t,x,y,ans,kx,f[1000000];
struct dot{int x,sum;}a,b;
queue <dot> p;
int main(){
    cin>>t;
    for(int i=1;i<=t;i++){
    	cin>>x>>y;
    	a.sum=0;a.x=x;
    	p.push(a);
    	memset(f,0,sizeof(f));
    	f[x]=1;b.x=0;b.sum=0;
    	while(!p.empty()){
    		b=p.front();
    		p.pop();
    		if(b.x==y){
    			cout<<b.sum<<"\n";
    			for(int i=1;i<=p.size()+11;i++) p.pop();
    			break;
			}
			a.sum=b.sum+1;
    		a.x=b.x*2;
    		if(f[a.x]==0&&a.x<=200050) p.push(a),f[a.x]=1;
    		a.x=b.x+1;
    		if(f[a.x]==0&&a.x<=200050) p.push(a),f[a.x]=1;
			if(b.x-1>0&&f[x-1]==0){
			    a.x=b.x-1;
			    p.push(a);
			    f[a.x]=1;
			}
		}	
	}
    
	return 0;
}
2021/11/24 13:17
加载中...