• <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无码蜜桃| 久久99国产综合精品女同| 一级A毛片免费观看久久精品| 久久综合久久久| 人妻少妇久久中文字幕一区二区| 久久亚洲电影| 精品久久久久久国产牛牛app | 国产精品美女久久久网AV| 久久久久久亚洲精品成人| 日批日出水久久亚洲精品tv| 久久精品国产一区二区三区日韩| 欧洲精品久久久av无码电影| 亚洲欧美成人综合久久久| 久久综合成人网| 久久国产福利免费| 国产精品免费久久久久影院| 91精品日韩人妻无码久久不卡| 99久久国产热无码精品免费| 伊人久久大香线焦AV综合影院| 亚洲欧美精品一区久久中文字幕| 久久久久国产亚洲AV麻豆| 国内精品久久久久久麻豆| 91久久香蕉国产熟女线看| 伊人色综合久久| 久久久青草青青国产亚洲免观| 久久久久亚洲精品无码网址| 久久国产精品偷99| 久久久久久久免费视频| 久久精品人人做人人爽电影| 亚洲国产另类久久久精品小说| 久久人人爽人人爽人人片AV不 | 九九久久99综合一区二区|