• <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)開始,不斷移動(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)見評(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ù)字之間用空格隔開。
            輸出數(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   管理


            91精品国产91久久久久久| 精品熟女少妇aⅴ免费久久| 亚洲色大成网站www久久九| 亚洲精品无码久久久| 久久精品国产国产精品四凭| 久久狠狠一本精品综合网| 亚洲精品乱码久久久久66| 久久久久亚洲AV成人片| 中文字幕热久久久久久久| 国产精品99久久久久久猫咪| 亚洲va久久久噜噜噜久久天堂| 久久精品国产亚洲欧美| 色综合久久久久综合体桃花网| 久久夜色精品国产亚洲av| 久久久久99精品成人片三人毛片| 精品999久久久久久中文字幕| 久久久久久夜精品精品免费啦| 国内精品久久久久影院优| 精品无码久久久久国产| 国产91久久精品一区二区| 久久99国产精品一区二区| 国产午夜精品理论片久久| 久久毛片一区二区| 久久久国产精品亚洲一区| 亚洲国产精品久久久久婷婷软件| 久久午夜福利电影| 久久久久亚洲av无码专区喷水 | 久久精品国产亚洲精品| 亚洲午夜福利精品久久| 国产精品99久久久精品无码| 色婷婷综合久久久久中文一区二区 | 色综合久久中文字幕综合网| 久久久久久久久久久久久久| 免费观看久久精彩视频| 久久综合亚洲色HEZYO国产| 奇米影视7777久久精品| 伊人 久久 精品| 久久久精品久久久久久 | 久久亚洲国产精品123区| 91精品久久久久久无码| 久久天天躁狠狠躁夜夜avapp|