• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            poj3278

            Catch That Cow

            Time Limit: 2000MS Memory Limit: 65536K
            Total Submissions: 27595 Accepted: 8495

            Description

            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?

            Input

            Line 1: Two space-separated integers: N and K

            Output

            Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.

            Sample Input

            5 17

            Sample Output

            4

            Hint

            The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.

            挺簡單的廣搜,不知道哪里錯了,wa了近20遍,悲劇,可能是邊界沒處理好
             1#include<stdio.h>
             2#include<string.h>
             3#include<math.h>
             4#define inf 100000
             5#define MAX 1000000
             6int n,k,ans;
             7long long q[MAX+1],number[inf+1];
             8short flag[inf+1];
             9int bfs()
            10{
            11    int head,tail;
            12    long long now,now1;
            13    head=0;
            14    tail=1;
            15    q[tail]=n;
            16    flag[n]=1;
            17    number[n]=1;
            18    while(head<tail)
            19    {
            20        head++;
            21        now=q[head];
            22        if (now==k)
            23        {
            24            return number[now]-1;
            25        }

            26        now1=now-1;
            27        if (now1>=0&&now1<=inf&&!flag[now1])
            28        {
            29            tail++;
            30            q[tail]=now1;
            31            flag[now1]=1;
            32            number[now1]=number[now]+1;
            33        }

            34        now1=now+1;
            35        if (now1>=0&&now1<=inf&&!flag[now1])
            36        {
            37            tail++;
            38            q[tail]=now1;
            39            flag[now1]=1;
            40            number[now1]=number[now]+1;
            41        }

            42        now1=now*2;
            43        if (now1>=0&&now1<=inf&&!flag[now1])
            44        {
            45            tail++;
            46            q[tail]=now1;
            47            flag[now1]=1;
            48            number[now1]=number[now]+1;
            49        }

            50    }

            51}

            52int main()
            53{
            54    while (scanf("%d%d",&n,&k)!=EOF)
            55    {
            56        if(n==k)
            57        {
            58            printf("0\n");
            59            continue;
            60        }

            61        if (k==0)
            62        {
            63            printf("%d\n",n);
            64            continue;
            65        }

            66        memset(q,0,sizeof(q));
            67        memset(number,0,sizeof(number));
            68        memset(flag,0,sizeof(flag));
            69        ans=bfs();
            70        printf("%d\n",ans);
            71    }

            72    return 0;
            73}

            74
            75


            posted on 2012-03-20 19:44 jh818012 閱讀(170) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            9久久9久久精品| 77777亚洲午夜久久多人| 久久99热只有频精品8| 99久久精品国产免看国产一区| 国产韩国精品一区二区三区久久| 99久久亚洲综合精品成人| 精品无码久久久久久久动漫| 国产99久久久国产精品小说| 久久精品麻豆日日躁夜夜躁| 久久影视综合亚洲| AV无码久久久久不卡蜜桃| 久久精品无码av| 99久久人妻无码精品系列蜜桃| 99久久精品九九亚洲精品| 亚洲综合熟女久久久30p| yellow中文字幕久久网 | 久久噜噜电影你懂的| 日韩亚洲国产综合久久久| 国产精品久久久久影院色| 久久精品一区二区三区AV| 久久精品国产亚洲5555| 国产精品久久久久aaaa| 精品国产乱码久久久久久人妻| 国内精品伊人久久久久网站| 99精品久久精品一区二区| 精品久久久久久中文字幕大豆网| 久久久久人妻一区精品果冻| 久久青草国产精品一区| aaa级精品久久久国产片| 亚洲成色WWW久久网站| 久久精品国产久精国产一老狼| 久久er国产精品免费观看8| A级毛片无码久久精品免费| 99久久99这里只有免费费精品| 天天躁日日躁狠狠久久| 亚洲AV无码久久| 一本一本久久A久久综合精品| 色老头网站久久网| 中文字幕久久久久人妻| 久久人人添人人爽添人人片牛牛| 日本欧美国产精品第一页久久|