POJ 3278
来源:互联网 发布:mac pro 无线网卡驱动 编辑:程序博客网 时间:2024/06/05 00:21
这题以前写过,很简单的BFS。就是可能不容易想到。
还是那么一句话,最短路,BFS。
AC比较轻松,算是BFS的练手题吧。
#include <cstdio>#include <iostream>#include <queue>#include <cstring>using namespace std;#define maxn 100005int n,k;queue<int> q;int step[maxn],v[maxn];int bfs(){ q.push(n); step[n]=0; v[n]=1; int h,next; while (!q.empty()) { h=q.front(); q.pop(); for(int i=-1;i<2;i++){ if(i==0) next=h*2; else next=h+i; if(next>maxn || next<0) continue; if(!v[next]){ q.push(next); step[next]=step[h]+1; v[next]=1; } if(next==k) return step[next]; } } return 0;}int main(){ while(~scanf("%d%d",&n,&k)){ memset(v, 0, sizeof(v)); if(n>k) printf("%d\n",n-k); //注意这里,如果n小于k就不用了,合理剪枝 else printf("%d\n",bfs()); } return 0;}
0 0
- POJ 3278
- POJ 3278
- POJ 3278
- POJ 3278
- poj 3278
- poj 3278
- POJ 3278
- poj 3278
- POJ 3278
- poj 3278
- poj 3278
- poj 3278
- poj-3278
- poj--3278
- poj-3278
- poj 3278
- poj 3278
- poj 3278
- Java基础之——快速失败&安全失败(最全的总结)
- Java MD5 BASE64加密工具类
- 驱动级键盘记录器 干什么用
- 安装oracle的版本问题
- servlet的生命周期,servlet是单线程还是多线程(基础问题)
- POJ 3278
- openGL中的抗锯齿实现
- oracle创建用户
- iOS Quartz2D下载进度条代码分析
- iOS设备UUID的获取方法(不变的唯一值)
- ORACLE:由位图索引引发的sql问题
- F
- 剑指offer-面试8:旋转数组的最小数字(查找和排序)
- java list转json