• <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 閱讀(171) 評論(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
            • 評論內容較長,點擊標題查看
            • --王私江
            久久精品国产影库免费看| 国产精品伦理久久久久久| 亚洲人成电影网站久久| 久久久久久国产精品美女| 久久国产亚洲精品无码| a级毛片无码兔费真人久久| 久久久久99精品成人片| 日本欧美久久久久免费播放网| 国产精品成人99久久久久 | 久久国产精品77777| 久久黄色视频| 久久AV高清无码| 久久一区二区三区免费| 午夜人妻久久久久久久久| 欧美粉嫩小泬久久久久久久| 午夜精品久久久久久久| 久久综合偷偷噜噜噜色| 久久午夜电影网| 69SEX久久精品国产麻豆| 狠狠色噜噜色狠狠狠综合久久 | 青草久久久国产线免观| 国内精品久久久久影院一蜜桃 | 日日躁夜夜躁狠狠久久AV| 亚洲国产精品狼友中文久久久| 久久天天躁狠狠躁夜夜96流白浆 | 日韩乱码人妻无码中文字幕久久 | 精品国产青草久久久久福利 | 久久AAAA片一区二区| 久久久久久久久无码精品亚洲日韩 | 色狠狠久久AV五月综合| 久久综合噜噜激激的五月天| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久久精品午夜免费不卡| 久久综合一区二区无码| 国产精品久久久久国产A级| 国产精品久久久久久久app| 久久国产乱子伦精品免费强| 伊人久久久AV老熟妇色| 久久国产AVJUST麻豆| 欧美久久综合性欧美| 久久99精品国产99久久6男男|