关闭

poj 3278 水bfs

145人阅读 评论(0) 收藏 举报
分类:

点击打开链接

</pre></p><p><pre name="code" class="cpp">#include <iostream>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
const int M=210000;
const int inf=100000;
struct Node{
	int x;
	int dist;
	Node(int x1,int dist1):x(x1),dist(dist1)
	{
		
	}
};
queue<Node> q;
int visit[M];
int main()
{
	int n,k;
	memset(visit,0,sizeof(visit));
	cin>>n>>k;
	q.push(Node(n,0));
	visit[n]=1;
	while(!q.empty())
	{
		Node s=q.front();
		q.pop();
		if(s.x==k)
		{
			cout<<s.dist<<endl;
			return 0;
		}
		else
		{
			if(s.x-1>=0&& !visit[s.x-1])
			{
				q.push(Node(s.x-1,s.dist+1));
				visit[s.x-1]=1;
			}
			if(s.x+1<=inf&& !visit[s.x+1])
			{
				q.push(Node(s.x+1,s.dist+1));
				visit[s.x+1]=1;
			}
			if(s.x*2<=inf && !visit[s.x*2])
			{
				q.push(Node(s.x*2,s.dist+1));
				visit[s.x*2]=1;
			}
		}		
	}
	return 0;
}


0
0
查看评论

POJ3278 简单BFS+剪枝

这是个经典的bfs题目,如果不剪枝在vjudge上提交会TLE,其实在n>=k时只要输出n-k就行了,这样就AC了。 #include #include #include #include #include #include #include #include #define r...
  • qq_35083093
  • qq_35083093
  • 2017-04-25 19:49
  • 84

POJ3278-BFS容易出现思维漏洞

Question: 本体是标准的三个入口的BFS水题,但是细节问题太多 Solution: 1.数组没必要太大,一旦RE了,是因为出现了这么几种情况,出现负数,因为题中声明不会有负数的出现,把负数的情况短路掉 还有就是我们一不小心越界,这时候,我们和上一种一样,我们需要先预判短路,再进行下标...
  • ltyqljhwcm
  • ltyqljhwcm
  • 2016-09-16 10:37
  • 446

POJ 3278 水BFS

水一道。。。 #include "stdio.h" #include "string.h" #include "queue" using namespace std; struct node { int x,step; }; i...
  • u011932355
  • u011932355
  • 2014-07-20 14:25
  • 372

poj3278-两种方法的比较

之前写过两个版本的,一个是两年前的,一个是两年后的,结果两年后的速度比不上两年前的 仔细比较了一下两个的代码,应该我之后的bfs是用queue实现的,而之前是直接使用数组,用front和rear来控制,队列的速度没有数组快,但是存储空间节省了不少
  • u013700636
  • u013700636
  • 2016-03-27 17:57
  • 357

POJ3278 HDU2717 Catch That Cow【BFS】

Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 100475   Accepted: 31438 Description Farmer John has ...
  • tigerisland45
  • tigerisland45
  • 2016-08-08 10:00
  • 768

POJ 3170(bfs求最短路)

Knights of Ni Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2070   Accepted: 890 ...
  • fly_tzf
  • fly_tzf
  • 2016-07-28 21:44
  • 357

poj 3278 队列+bfs

http://poj.org/problem?id=3278 Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. H...
  • u013573047
  • u013573047
  • 2014-04-29 21:45
  • 458

POJ 3278 BFS题

大致题意: 有n,k,在x轴上,然后农夫用三种 head-1, head+1 或 head*2 去走,问最少多少步可以将牛拉回来; PS:queue队列,要记好加入队列,出队,已经保存出队前一个元素;    ...
  • qq_33638791
  • qq_33638791
  • 2016-01-23 23:18
  • 238

poj bfs 3278

题目链接:http://poj.org/problem?id=3278 大意:牛和人在一条直线上,人可以往左走,也可以往右走,还可以直接跳到两倍的地方。然后求最短花多少时间能捉到牛。明显的bfs。再次复习下。 背景:一开始TLE没有return,直接超时,,自己简直脑残。。然后还是wa,发现...
  • liujc_
  • liujc_
  • 2015-03-14 18:26
  • 325

POJ 3278(BFS)

题目链接:http://poj.org/problem?id=3278 特别水的一道BFS... #include #include #include #include #include #include using namespace std; const int INF=0x3f3f3f3...
  • rachelsg
  • rachelsg
  • 2016-01-26 17:16
  • 76
    个人资料
    • 访问:128248次
    • 积分:7252
    • 等级:
    • 排名:第3684名
    • 原创:625篇
    • 转载:1篇
    • 译文:0篇
    • 评论:16条
    最新评论