码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2717 Catch That Cow

时间:2015-03-31 09:07:23      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

暴力搜索(广搜),注意要先判断再加入队列,否则会超内存

#include<iostream>
#include<queue>
#include<cmath>
#include<cstring>
#define maxn 100000+5
using namespace std;
int dir[2]={1,-1};
int vis[maxn]={0};
int n,m,re;
int maxx;
struct stu
{
    int x,s;
};
void bfs(int n)
{
	memset(vis,0,sizeof(vis));
    stu xx,yy;
    xx.x=n;xx.s=0;
    queue<stu>root;
    root.push(xx);
    while(root.size())
    {
        xx=root.front();
        root.pop();
        if(xx.x==m) {re=xx.s;return;}
        for(int i=0;i<2;i++)
        {
        	yy.x=xx.x+dir[i];
        	yy.s=xx.s+1;
        	if(yy.x>=0&&yy.x<=maxn)
        	{
        		if(!vis[yy.x]) vis[yy.x]=1,root.push(yy); 
        	}
        }
        yy.x=xx.x*2;
        yy.s=xx.s+1;
        if(yy.x>=0&&yy.x<=maxn)
        {
        	if(!vis[yy.x])
        	{
        		vis[yy.x]=1;
        		root.push(yy);
        	}
        }  
    } 
}
int main()
{
    while(cin>>n>>m)
    {
        bfs(n);
        cout<<re<<endl;
    }
    return 0;
}


 

 

hdu 2717 Catch That Cow

标签:

原文地址:http://blog.csdn.net/zafkiel_nightmare/article/details/44759927

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!