#广度优先搜索bfs

2023-09-25 23 0

https://blog.csdn.net/loser_peter/article/details/80258321 网站一
https://www.cnblogs.com/1starfish/p/9403991.html 网站二
https://blog.csdn.net/acm147258369/article/details/88562558 网站三(图形解释最形象最推荐的)

再来一道hdoj2717 的简单bfs题(Libm版)

#include<bits/stdc++.h>
using namespace std;
bool vis[100050];
int N,K;
struct NODE{int loc;int step;
};
int bfs()
{memset(vis,0,sizeof(vis));queue<NODE> q;vis[N]=true;q.push(NODE{N,0});while(!q.empty()){NODE t;t=q.front();q.pop();if(t.loc==K) return t.step;if(t.loc<K&&!vis[t.loc+1]) {vis[t.loc+1]=1;q.push(NODE{t.loc+1,t.step+1});}if(t.loc>0&&!vis[t.loc-1]) {vis[t.loc-1]=1;q.push(NODE{t.loc-1,t.step+1});}if(2*t.loc<100005&&!vis[2*t.loc]) {vis[t.loc*2]=1;q.push(NODE{t.loc*2,t.step+1});}}
}
int main()
{while(cin>>N>>K){if(K>=N){cout<<bfs()<<endl;}else{cout<<abs(N-K)<<endl;}}return 0;
}
代码编程
赞赏

相关文章

SEO外链方法之论坛外链心得
seo论坛外链怎么带链接(做论坛外链怎么带链接才不会被删帖)
多仓库手机端erp进销存pc/h5开源版开发
java基于springboot的进销存管理信息系统
毕业设计之基于PHP+uniapp的进销存系统
【原创】基于SSM的超市进销存管理系统(超市管理系统毕业设计)