题解
2026-08-13 14:05:09
发布于:江苏
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10200],d[10200];
bool vis[10200];
void bfs(){
queue<int>q;
q.push(n);
d[n]=0;
vis[n]=1;
while(!q.empty()){
int t=q.front();
q.pop();
if(t==m){
cout<<d[t];
return;
}
if(t2<=10100&&!vis[t2]){
vis[t2]=1;
d[t2]=d[t]+1;
q.push(t*2);
}
if(t-1>=1&&!vis[t-1]){
vis[t-1]=1;
d[t-1]=d[t]+1;
q.push(t-1);
}
}
}
int main(){
cin>>n>>m;
bfs();
}
这里空空如也




有帮助,赞一个