无输出,求调
查看原帖
无输出,求调
1252442
lucy2012楼主2024/4/20 18:00
#include<bits/stdc++.h>
using namespace std;
int n,k,sum=0,vis[100010]; 
struct node{
	int x,step;
}q[100010];
void bfs(int x,int y){
	int head=1,tail=1;
	q[tail].x=x;
	q[tail].step=0;
	tail++;
	vis[x]=1;
	while(head<tail){
		int x1=q[head].x;
		int step1=q[head].step;
		if(x1==x){
			cout<<step1;
			return;
		}
		for(int i=1;i<=3;i++){
			int xx;
			if(i==1) xx=x1+1;
			if(i==2) xx=x1-1;
			if(i==3) xx=2*x1;
			if(xx>=0&&xx<100000&&!vis[xx]){
				q[tail].x=xx;
				q[tail].step=step1+1;
				tail++;
				vis[xx]=1;
			}
		}
		head++;
	}
}
int main(){
    cin>>n>>k;
    bfs(n,k);
    return 0;
}
2024/4/20 18:00
加载中...