SDUToj 1028 Catch That Cow (BFS)
来源:互联网 发布:网络交换机品牌排行 编辑:程序博客网 时间:2024/05/21 19:21
Catch That Cow
Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (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 or X + 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?
输入
Line 1: Two space-separated integers: N and K
输出
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
示例输入
5 17
示例输入
4
///ACcode 注意判断是否来过某个点(mp数组),是否超数据范围;防止tle,依次将各种情况入队,判断最短时间(步数);
#include <iostream>#include <cstring>#include <queue>#include <cstdio>using namespace std;bool mp[110000]= {0};struct node{ int place; int time;} now,cmp;int flag(int x)///判断 是否越界{ if (x<0 || x>100000||mp[x]==1) { return 0; } return 1;}int bfs(int peo,int cow){ queue <node> q;///定义 放在bfs函数里面 now.place=peo; now.time=0; mp[now.place]=1; q.push(now); while (!q.empty()) { cmp=q.front(); q.pop(); if (cmp.place==cow) { return cmp.time; } else { if (flag(cmp.place+1))///判断 是否走过此点 { mp[cmp.place+1]=1; now.place=cmp.place+1; now.time=cmp.time+1; q.push(now); } if (flag(cmp.place-1)) { mp[cmp.place-1]=1; now.place=cmp.place-1; now.time=cmp.time+1; q.push(now); } if (flag(cmp.place*2)) { mp[cmp.place*2]=1; now.place=cmp.place*2; now.time=cmp.time+1; q.push(now); } } } return -1;}int main(){ int n,k; cin>>n>>k; if (n > k) { cout<<n-k<<endl;///cow 比 peo的位置小,人只能每次走一步 } else { cout<<bfs(n,k)<<endl; } return 0;}
1 0
- SDUToj 1028 Catch That Cow (BFS)
- Catch That Cow(bfs)
- Catch That Cow+BFS
- Catch That Cow BFS
- Catch That Cow BFS
- Catch That Cow(BFS)
- Catch That Cow BFS
- Catch That Cow (BFS)
- Catch That Cow【bfs】
- Catch That Cow(bfs)
- Catch That Cow BFS
- bfs-catch that cow
- Catch That Cow(bfs)
- Catch That Cow bfs
- Catch That Cow (BFS)
- Catch That Cow --bfs
- Catch That Cow(BFS)
- SDUT 1028 Catch That Cow (BFS)
- Linux系统查看当前主机CPU、内存、机器型号及主板信息
- STL之traits编程技法
- easyui datagrid 输出数据乱码
- Can you find it? hdu 2141
- const
- SDUToj 1028 Catch That Cow (BFS)
- 仿SegmentFault系列(一) PopupMenu
- linux 命令 ln(软件升级很好用)
- jQuery EasyUI DataGrid - 格式化列(formatter )
- 1. Two Sum [easy] (Python)
- iOS键盘与文本框的处理(二)
- Attention and Memory in Deep Learning and NLP(深度学习和NLP中的注意和记忆机制) 阅读笔记
- hdu5754 Life Winner Bo (博弈混合)
- 基于arm的音乐播放器制作