zoukankan      html  css  js  c++  java
  • POJ 3278 Catch That Cow BFS

    题目连接 http://poj.org/problem?id=3278

    一开始作者道题的时候re了好几次。不知道为什么后来交的时候又WA然后发现得分情况一种是大于等于一种是小于

    一天刚学会就A了三道题比较满意。

    View Code
    #include<stdio.h>
    #include<string.h>
    struct node 
    {
        int step;
        int i;
    }q[500005];
    int pro[500005];
    int fro,re;
    int main()
    {
        int farm,cow;
        while(scanf("%d %d",&farm,&cow) != EOF)
        {
            int i,j,k,num;
            memset(pro,0,sizeof(pro));
            pro[farm] = 1;
            fro  = 0;
            re = 0;
            q[re++].i = farm;
            q[fro].step = 0;
            int leap = 1;
            if(farm >= cow)
            {
                printf("%d\n",farm-cow);
            }
            else
            {
            while(fro != re)
            {
                int v;
                v = q[fro].i;
                if(v == cow)
                {
                    leap = 0;
                    break;
                }
                num = q[fro].step;
                fro++;
                for(i = 1;i <= 3;i++)
                {
                    if(i == 1)
                    {
                        k = v+1;
                    }
                    if(i == 2)
                    {
                        k = v-1;
                    }
                    if(i == 3)
                    {
                        k = 2*v;
                    }
                    if(k <= 500005 && k >= 0 && !pro[k])
                    {
                        q[re].i = k;
                        q[re].step += num+1;
                        if(k == cow)
                        {
                            leap = 0;
                            break;
                        }
                        re++;
                        pro[k] = 1;
                    }
                }
                if(!leap)
                    break;
            }
            if(leap)
                puts("NO");
            else
                printf("%d\n",q[re].step);
            }
        }
        return 0;
    }
  • 相关阅读:
    pandas取值
    pandas 基本操作
    Pandas三个数据结构
    pandas.Series
    scipy线性模块liner(linalg)
    numpy meshgrid函数
    scipy插值interpolation
    scipy优化器optimizer
    scipy积分 integral
    8086汇编 Loop 指令
  • 原文地址:https://www.cnblogs.com/0803yijia/p/2612649.html
Copyright © 2011-2022 走看看