• <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>
            posts - 7, comments - 13, trackbacks - 0, articles - 37
               :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理

            2005百度總決賽

            Posted on 2008-10-16 09:19 歲月流逝 閱讀(114) 評(píng)論(0)  編輯 收藏 引用

            題目描述:
            八方塊移動(dòng)游戲要求從一個(gè)含8個(gè)數(shù)字(用1-8表示)的方塊以及一個(gè)空格方塊(用0表示)的3x3矩陣的起始狀態(tài)開(kāi)始,不斷移動(dòng)該空格方塊以使其和相鄰的方塊互換,直至達(dá)到所定義的目標(biāo)狀態(tài)。空格方塊在中間位置時(shí)有上、下、左、右4個(gè)方向可移動(dòng),在四個(gè)角落上有2個(gè)方向可移動(dòng),在其他位置上有3個(gè)方向可移動(dòng)。例如,假設(shè)一個(gè)3x3矩陣的初始狀態(tài)為:
               8 0 3
               2 1 4
               7 6 5
            目標(biāo)狀態(tài)為:
               1 2 3
               8 0 4
               7 6 5
            則一個(gè)合法的移動(dòng)路徑為:
               8 0 3    8 1 3    8 1 3    0 1 3    1 0 3    1 2 3
               2 1 4 => 2 0 4 => 0 2 4 => 8 2 4 => 8 2 4 => 8 0 4
               7 6 5    7 6 5    7 6 5    7 6 5    7 6 5    7 6 5

            另外,在所有可能的從初始狀態(tài)到目標(biāo)狀態(tài)的移動(dòng)路徑中,步數(shù)最少的路徑被稱為最短路徑;在上面的例子中,最短路徑為5。如果不存在從初試狀態(tài)到目標(biāo)狀態(tài)的任何路徑,則稱該組狀態(tài)無(wú)解。

            請(qǐng)?jiān)O(shè)計(jì)有效的(細(xì)節(jié)請(qǐng)見(jiàn)評(píng)分規(guī)則)算法找到從八方塊的某初試狀態(tài)到某目標(biāo)狀態(tài)的所有可能路徑中的最短路徑,并用C/C++實(shí)現(xiàn)。

            輸入數(shù)據(jù):
            程序需讀入已被命名為start.txt的初始狀態(tài)和已被命名為goal.txt的目標(biāo)狀態(tài),這兩個(gè)文件都由9個(gè)數(shù)字組成(0表示空格,1-8表示8個(gè)數(shù)字方塊),每行3個(gè)數(shù)字,數(shù)字之間用空格隔開(kāi)。
            輸出數(shù)據(jù):
            如果輸入數(shù)據(jù)有解,輸出一個(gè)表示最短路徑的非負(fù)的整數(shù);如果輸入數(shù)據(jù)無(wú)解,輸出-1。
            自測(cè)用例:
            如果輸入為:start.txt和goal.txt,則產(chǎn)生的輸出應(yīng)為:
            5
            又例,如果用
            7 8 4
            3 5 6
            1 0 2
            替換start.txt中的內(nèi)容,則產(chǎn)生的輸出應(yīng)為:
            21

            評(píng)分規(guī)則:
            1)我們將首先使用和自測(cè)用例不同的10個(gè)start.txt以及相同的goal.txt,每個(gè)測(cè)試用例的運(yùn)行時(shí)間在一臺(tái)Intel Xeon 2.80GHz 4 CPU/6G 內(nèi)存的Linux機(jī)器上應(yīng)不超過(guò)10秒(內(nèi)存使用不限制),否則該用例不得分;
            2)每個(gè)選手的總分(精確到小數(shù)點(diǎn))=10秒鐘內(nèi)能產(chǎn)生正確結(jié)果的測(cè)試用例數(shù)量x10+(1/產(chǎn)生這些正確結(jié)果的測(cè)試用例的平均運(yùn)行毫秒);

            3)如果按此評(píng)分統(tǒng)計(jì)仍不能得出總決賽將決出的一、二、三等獎(jiǎng)共計(jì)九名獲獎(jiǎng)?wù)撸覀儗⑾仍O(shè)N=2,然后重復(fù)下述過(guò)程直至產(chǎn)生最高的9位得分:用隨機(jī)生成的另外10個(gè)有解的start.txt再做測(cè)試,并對(duì)這10*N個(gè)測(cè)試用例用2)中公式重新計(jì)算總分,N++。


             


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


            久久久久久亚洲精品不卡| 亚洲AV乱码久久精品蜜桃| 青青青伊人色综合久久| 国产精品美女久久久久av爽| 久久亚洲欧洲国产综合| 亚洲精品午夜国产VA久久成人| 777午夜精品久久av蜜臀| 国产精品久久久久天天影视| 久久精品国产精品亚洲艾草网美妙| 欧美一区二区久久精品| 97久久精品人人澡人人爽| 国产精品久久久久久久久免费| 久久精品夜色噜噜亚洲A∨| 精品熟女少妇av免费久久| 久久国产劲爆AV内射—百度| 久久香蕉国产线看观看猫咪?v| 99久久99久久精品国产片果冻| 九九久久99综合一区二区| 99久久精品午夜一区二区| 97r久久精品国产99国产精| 国产精品久久毛片完整版| 久久66热人妻偷产精品9| 久久精品毛片免费观看| 99久久久久| 亚洲AV日韩AV永久无码久久 | 久久亚洲精精品中文字幕| 久久香综合精品久久伊人| 国产成人久久激情91| 久久伊人五月天论坛| 国产精品久久午夜夜伦鲁鲁| 欧美亚洲另类久久综合| 综合久久一区二区三区| 成人a毛片久久免费播放| A级毛片无码久久精品免费| 国产精品久久久久久福利漫画| 久久综合色区| 久久中文字幕视频、最近更新| 久久久国产精品网站| 国内精品久久久久久久97牛牛| 亚洲女久久久噜噜噜熟女| 无码精品久久久久久人妻中字|