• <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>

            PKU 2488 TOJ 1702 A Knight's Journey 解題

             

             1#include<stdio.h>
             2#include<string.h>
             3int P[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};
             4struct C{int r,l;};
             5C Q[30];
             6char use[30][30];
             7int p,q,K,ans,f;
             8void di(int a,int b)
             9{
            10    if(K==ans)f=1;
            11    if(f)return;
            12    int i,r,l;
            13    for(i=0;i<8;i++)
            14    {
            15        r=a+P[i][0];
            16        l=b+P[i][1];
            17        if(r>=1 && r<=&& l>=1 && l<=&& use[r][l])
            18        {
            19            K++;
            20            use[r][l]=0;Q[K].l=l;Q[K].r=r;
            21            //if(K==ans){f=1;return;}
            22            di(r,l);
            23            if(f)return;
            24            use[r][l]=1;
            25            K--;
            26        }

            27    }

            28            
            29}

            30int main()
            31{
            32    int i,Kase,l;
            33    scanf("%d",&Kase);
            34    l=0;
            35    while(l<Kase)
            36    {
            37        memset(use,1,sizeof(use));
            38        memset(Q,0,sizeof(Q));
            39        scanf("%d%d",&q,&p);
            40        ans=p*q;
            41        K=1;f=0;
            42        Q[K].l=1;Q[K].r=1;
            43        use[1][1]=0;
            44        di(1,1);
            45        printf("Scenario #%d:\n",++l);
            46        if(!f)printf("impossible\n\n");
            47        else
            48        {
            49            for(i=1;i<=ans;i++)printf("%c%c",Q[i].r+'A'-1,Q[i].l+'0');
            50            printf("\n\n");
            51        }

            52    }

            53    return 0
            54
            55}

            56

            深度優(yōu)先搜索。
            因?yàn)樾枰憷麄€(gè)棋盤有要求遍歷的順序字典序最小。
            那么可以確定深搜的順序就是從A1開始的。
            由于p*q<=26當(dāng)期中一個(gè)為2的時(shí)候另一個(gè)大于10的時(shí)候肯定是不能遍歷的。
            所以不需要考慮B11 B9等一類出現(xiàn)時(shí)候字典序的問題了

            posted on 2008-07-15 19:31 gong 閱讀(289) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(6)

            隨筆檔案

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲色大成网站www久久九| 久久青青草原精品国产| 久久久艹| 中文字幕热久久久久久久| 久久99国产综合精品| 久久国产成人午夜AV影院| 久久久久久久97| 久久国产精品一区| 久久99国产乱子伦精品免费| 久久精品无码一区二区三区日韩| 精品综合久久久久久97| 久久AAAA片一区二区| 久久午夜羞羞影院免费观看| 色婷婷久久久SWAG精品| 久久精品国产影库免费看| 久久无码AV一区二区三区| 国产精品午夜久久| 国产精品久久久久久一区二区三区| 女同久久| 久久丝袜精品中文字幕| 91精品国产综合久久四虎久久无码一级| 久久精品国产清自在天天线| 久久国产香蕉一区精品| 91精品观看91久久久久久| 91精品国产高清91久久久久久| 国产精品99久久久精品无码| 亚洲精品国产自在久久| 久久午夜福利电影| 久久这里只有精品视频99| 久久久久99精品成人片三人毛片| 久久免费国产精品一区二区| 91精品国产色综合久久| 久久精品午夜一区二区福利| 久久久久久亚洲Av无码精品专口| 久久精品国产日本波多野结衣| 亚洲中文字幕无码一久久区| 久久人人爽人人爽人人片AV不| 无遮挡粉嫩小泬久久久久久久 | 久久久久久午夜成人影院| 久久99精品国产麻豆宅宅| 无码专区久久综合久中文字幕|