A - 广搜 基础
来源:互联网 发布:建行网络学系统手机 编辑:程序博客网 时间:2024/04/28 17:08
//@author: yzj Date:2015/07/26//sourse : http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82603#problem/A//meaning: 农夫追牛,农夫每次可以走2*x, x-1 或 x+1三种方式,求最小时间#include <iostream>#include <cstdio>#include <queue>using namespace std;const int MAXN = 100000+5;int n, k;bool vis[MAXN];int step[MAXN];queue<int> que;int bfs(int pos){ que.push(pos); vis[pos] = true; step[pos] = 0; while(!que.empty()) { int head, next; head = que.front(); que.pop(); for(int i = 0; i < 3; i++)//枚举三种方法 { if(i == 0) { next = head * 2; } else if(i == 1) { next = head + 1; } else { next = head - 1; } //超出界限, 跳过 if(next < 0 || next > MAXN || vis[next]) continue; else { que.push(next); step[next] = step[head] + 1; vis[next] = true; } //广搜的特性,返回的第一个一定是最短的路径 if(next == k) return step[next]; } }}int main(){ //freopen("f:/yzj/cppCode/input.txt", "r", stdin); scanf("%d %d", &n, &k); if(n >= k) printf("%d\n", n-k); else printf("%d\n", bfs(n)); return 0;}
0 0
- A - 广搜 基础
- 7.12 POJ 3278 A - 广搜 基础
- A广搜
- A计划(广搜)
- hdu2102 A计划 广搜
- 广搜基础 Farmer John
- CF 广搜(基础)
- Find a way+二次广搜
- A strange lift 1548 广搜
- hdu 2612 Find a way (广搜)
- HDU 1548 A strange lift【广搜】
- hdu Find a way(广搜)
- HDU1548-A strange lift【广搜做法】
- HDOJ-2102 A计划(广搜)
- hdoj2120 A计划 (广搜)
- HDU 2102 A计划【BFS广搜】
- hdu2612 Find a way 广搜
- 4.2.4--广搜--A strange lift
- 使用segue时如何实现login的判断
- iOS笔记 -(NSDictionary和NSMutableDictionary常用方法总结)
- 【D3 API 中文手册】
- Cocoa过滤器NSPredicate的完全用法
- ios--NavigationViewController跳转、返回传值
- A - 广搜 基础
- 项目:拼图游戏(二)逆序数计算
- 函数调用的冒泡排序
- iOS学习之UIPickerView控件的关联选择
- 基于UDP的简易聊天室(服务器端)
- 通过RTLabel、RCLabel、FTCoreText及webView结合SDWebImage等4种方式实现左滑或下拉中cell中图文混排使用场景方案
- jsoup抓取豆瓣美女
- 获取当前电脑所有网络连接名字
- Java Base64、AES、SHA1、MD5加密算法