搜索-G
来源:互联网 发布:刷话题软件 编辑:程序博客网 时间:2024/05/16 09:29
题目大意就是给出初始位置和终点位置,你的行走方式只有前走一步,后走一步,传送到当前坐标*2的地方;
问最少几次能到终点;
广搜问题,因为是广搜,所以一定能得到最少步数;
代码如下:
#include<iostream>#include<queue>#include<string.h>#define MAX 200005using namespace std;int v[MAX]={0},cnt;void bfs(int n,int k) //n代表当前坐标,k代表终点{queue<int> q;q.push(n);q.push(cnt);while(1){n=q.front();q.pop();cnt=q.front();q.pop();if(n==k)return;if(n-1>=0&&!v[n-1]){q.push(n-1);q.push(cnt+1);v[n-1]=1;}if(n+1<=k&&!v[n+1]){q.push(n+1);q.push(cnt+1);v[n+1]=1;}if(2*n<=MAX&&!v[2*n]){q.push(2*n);q.push(cnt+1);v[2*n]=1;}}}int main(){int n,k;cin>>n>>k;if(n>=k)cout<<n-k<<endl; //只能向后走,结果直接出else{cnt=0;memset(v,0,sizeof(v));bfs(n,k);cout<<cnt<<endl;}return 0;}
阅读全文
0 0
- 搜索 G
- 搜索--G
- 搜索 G
- 搜索-G
- 搜索-G
- 搜索 G
- 搜索-G
- 搜索-G
- gcc g++ 搜索 路径
- gcc/g++搜索路径
- gcc/g++搜索路径
- 搜索专题 G
- 搜索 G题
- 搜索练习题G-07
- Problem G: 逃脱(搜索)
- linux g++ 库文件搜索路径
- Gym 100886G Maximum Product(搜索)
- 【搜索入门专题1】hdu1548 G
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- malloc(0)
- Android 7.0 调用系统相机拍照、裁剪相片
- 3 自建 HTTPS 证书
- 阿里下一代数据库技术:把数据库装入容器不再是神话
- 搜索-G
- 今天遇到的问题
- 在网页里动态加载 js
- MVC框架(一)----前端框架分类
- 选购四轴飞行器的部件
- Spring中使用两种Aware接口自定义获取bean
- c++中mfc找不到自定义的ID
- Android之禁止Edittext弹出软键盘和光标正常显示并在光标处增删字符
- 分布式系统学习思路