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

[POJ - 3278 ]Catch That Cow

时间:2019-08-20 14:05:21      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:amp   return   namespace   边界条件   front   style   empty   span   scanf   

还是很简单的水题。不过他的边界条件我到现在还是不是很懂hhhh

#include <cstdio>
#include <queue>
#include <cstring>

using namespace std;

struct position
{
    int x;
    int min;
};

queue <position> q;
int vis[100001];
int main()
{
    position man, temp;
    int start, end;
    while(~scanf("%d%d", &start, &end))
    {
    
    memset(vis, 0, sizeof(vis));
    while(!q.empty())
        q.pop();
    
    man.x = start;
    man.min = 0;
    q.push(man);
    vis[man.x]=1;
    while(!q.empty())
    {
        man = q.front();
        q.pop();
            if(man.x == end)
                {
                    printf("%d\n", man.min);
                    break;    
                }
        temp.x = man.x+1;
        if(temp.x>=0 && temp.x<=100000 && !vis[temp.x])
            {
                temp.min = man.min +1;
                vis[temp.x] =1 ;
                q.push(temp);
            }
        
        
        temp.x = man.x-1;
        if(temp.x>=0 && temp.x<=100000 && !vis[temp.x])
            {
                temp.min = man.min +1;
                vis[temp.x] =1 ;
                q.push(temp);
            }
            
        temp.x = man.x*2;
        if(temp.x>=0 && temp.x<=100000 && !vis[temp.x])
            {
                temp.min = man.min +1;
                vis[temp.x] =1 ;
                q.push(temp);
            }
        
    }
}
    
    
    return 0;
}

 

[POJ - 3278 ]Catch That Cow

标签:amp   return   namespace   边界条件   front   style   empty   span   scanf   

原文地址:https://www.cnblogs.com/Vikyanite/p/11382478.html

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