poj Catch That Cow bfs
来源:互联网 发布:软件 英语 编辑:程序博客网 时间:2024/05/16 17:31
Catch That Cow
Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 33812 Accepted: 10419
Description
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN (0 ≤N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.
* Walking: FJ can move from any point X to the points X - 1 orX+ 1 in a single minute
* Teleporting: FJ can move from any point X to the point 2 × X in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers: N andK
Output
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input
5 17
Sample Output
4
Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
Source
USACO 2007 Open Silver
题意:给定两个数,从第一个数到第二个数最少经过几步可以到达,bfs进行搜索
这个是一维数组进行bfs 学习了一下, 思路都差不多
其实bfs 和dfs就是树的问题
代码:
#include<iostream>#include<queue>#include<algorithm>using namespace std;#define maxn 100001 queue<int> x;bool vis[maxn];int step[maxn];int bfs(int n,int k){int head,next;x.push(n);vis[n]=1;step[n]=0;while(!x.empty()){head=x.front();x.pop();for(int i=0;i<3;i++){if(i==0) next=head+1;else if(i==1) next=head-1;else if(i==2) next=head*2;if(next>maxn||next<0)continue;if(!vis[next]){x.push(next);step[next]=step[head]+1;vis[next]=1;}if(next==k) return step[next];}}}int main(){int n,k;cin>>n>>k;if(n>=k){cout<<n-k<<endl;}else{cout<<bfs(n,k)<<endl;}return 0;}
- poj Catch That Cow bfs
- BFS poj Catch that cow
- poj 3278 Catch That Cow BFS
- poj 3278 Catch That Cow BFS
- POJ 3278 Catch That Cow BFS
- poj 3278 bfs(Catch That Cow)
- poj 3278 Catch That Cow(bfs)
- POJ 3278 Catch That Cow bfs
- poj Catch That Cow (Bfs)
- POJ 3278 Catch That Cow 【bfs+队列】
- POJ 3278 Catch That Cow (BFS)
- POJ 3278 Catch That Cow(BFS)
- poj 3278 Catch That Cow bfs
- poj 3278 Catch That Cow (BFS剪枝)
- Poj 3287 Catch That Cow(BFS)
- POJ 3278 Catch That Cow[BFS]
- Poj 3278 Catch That Cow 裸bfs
- POJ 3278 Catch That Cow(图论:BFS)
- 前台页面取本机时间的jsp及js的书写
- java获取公网ip
- Ubuntu下搭建PHP开发环境(Apache+Mysql+PHP5)
- perl write excel
- 在git 中修改之前的提交内容
- poj Catch That Cow bfs
- UML--活动图
- c# 中图像的简单二值化处理
- MyEclipse Web项目导入Eclipse
- web.xml中配置spring的几种方式 以及 Spring获取Bean的几种方式
- Java instanceof 测试
- 西游记倒着演
- windows phone开发学习--CacheMode
- Android 数据库一次创建多个表