题解
2024-11-24 10:54:21
发布于:广东
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int d[100010],n,k;
int main() {
cin>>n>>k;
for(int i =1;i<=100010;i++){
d[i]=-1;
}
queue<int> q;
q.push(n);
d[n]=0;
while(q.size()){
int r=q.front();
q.pop();
if(r==k){
cout<<d[k];
break;
}
if(r>=1 && d[r-1] ==-1){
d[r-1]=d[r]+1;
q.push(r-1);
}
if(r<=100010 && d[r+1] ==-1){
d[r+1]=d[r]+1;
q.push(r+1);
}
if(2r<=100010 && d[r2] ==-1){
d[r2]=d[r]+1;
q.push(r2);
}
}
return 0;
}
这里空空如也
有帮助,赞一个