题解
2024-09-28 17:20:05
发布于:浙江
5阅读
0回复
0点赞
#include<iostream>
#include<queue>
using namespace std;
int n,k;
queue<int>q;
int d[100005];
void bfs(int n,int k){
~~ while(q.size()){~~
~~ int f=q.front();~~
q.pop();
if(fk){
cout<<d[f];
break;
}
if(f-1>=0&&d[f-1]-1){
q.push(f-1);
d[f-1]=d[f]+1;
}
if(f+1<=100000&&d[f+1]-1){
q.push(f+1);
d[f+1]=d[f]+1;
}
if(f2<=100000&&d[f2]-1){
q.push(f2);
d[f2]=d[f]+1;
}
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=100000;i++){
d[i]=-1;
}
q.push(n);
d[n]=0;
bfs(n,k);
return 0;
}
这里空空如也
有帮助,赞一个