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

            Dice Stacking

            Dice Stacking

            【題目概述】羅骰子游戲,N1<=N<=10)個骰子,每個骰子有六個編號為0~5的面,現(xiàn)在要求把骰子羅成一摞,且要求兩個骰子重疊的面的編號相等,求羅成的長方體四個側(cè)面中最大面積的側(cè)面的面子。

             

             

             

             

             

             

             

             

             

             

             

            【題目分析】將骰子羅列,求最大的側(cè)面,還要求相鄰兩個骰子接觸面編號相等?!該如何解決呢?看圖,先來解決相鄰的兩個面編號相等的問題!有圖得到  因此,可以很容易的判斷一個面的對立面!第一個問題解決。

            題目中給出了這個條件是狠重要就是,就是一個骰子可以左右轉(zhuǎn)動,這提示我們水平的四個面中編號最大的面總是可以轉(zhuǎn)到一個面上的。由此,我們可以確定那個面和其余骰子接觸的時候,確定這個骰子提供的最大的面積。

            確定這兩個起初看是不確定的問題,下面的算法就是比較通俗的了。

            設(shè)  表示最大值,其中,i為已放入的骰子,第j個骰子的第k個面朝上。則

            若只放一個篩子, , 其中b[i][j]表示第i個骰子的第j個面向上放置貢獻(xiàn)的最大值,可以預(yù)處理的時候求出。

            對于已放置的骰子,可以轉(zhuǎn)移到為放置的上面,所以,枚舉合法的狀態(tài),然后添加骰子,同時更新狀態(tài)值。

            【詳細(xì)代碼】下面是AC的代碼。

            //Name: pku_2596_Dice Stacking

            #include <iostream>

            using namespace std;

            #define max(a, b)((a)=((a)>(b)?(a):(b)))

            const int f[6]={5,4,3,2,1,0};

            int a[10][10], b[10][10];

            int dp[1<<10][10][6], n, ans;

            int main() {

                //freopen("in.in", "r", stdin);

                int ca, i, j, k, p, q, t, kn;

                scanf("%d", &ca);

                while(ca-- && scanf("%d", &n)) {

                    kn = 1<<n;

                    memset(b, 0, sizeof(b));

                    for(i = 0; i < n; i++) {

                        for(j = 0; j < 6; j++) scanf("%d",a[i]+j);

                        for(j = 0; j < 6; j++)

                            for(k = 0; k < 6; k++) if(k!=j && k != f[j])

                                max(b[i][j], a[i][k]);

                    }

                    memset(dp, -1, sizeof(dp));

                    for(i = 0; i < n; i++)

                        for(j = 0; j < 6; j++) dp[1<<i][i][j] = b[i][j];

                    for (i = 0; i < kn; i++) {

                        for (j = 0; j < n; j++) {

                            for (k = 0; k < 6; k++) if(dp[i][j][k] != -1) {

                                for(p = 0; p < n; p++) if(!(i & (1<<p))) {

                                    for (q = 0; q < 6; q++) if(a[j][k] == a[p][f[q]]) {

                                        t = i|(1<<p);

                                        max(dp[t][p][q], dp[i][j][k] + b[p][q]);

                                    }//ifq

                                }//ifp

                            }//ifk

                         }//fj

                     }//fi

                     ans = 0;

                     for (i = 0; i < n; i++)

                        for (j = 0; j < 6; j++) max(ans, dp[kn-1][i][j]);

                     printf("%d\n", ans);

                }

                return 0;

            }

            posted on 2010-08-09 22:05 小志 閱讀(364) 評論(0)  編輯 收藏 引用


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


            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿

            隨筆檔案(8)

            文章檔案(1)

            相冊

            收藏夾

            ACM --- Online Judge

            小志

            最新隨筆

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久天天日天天操综合伊人av| 久久亚洲高清综合| 精品国产乱码久久久久久呢| 国产99久久久国产精品~~牛| 久久精品天天中文字幕人妻| 亚洲va久久久噜噜噜久久| 久久91精品国产91| 中文字幕乱码人妻无码久久| 一本一本久久a久久综合精品蜜桃| 伊人热热久久原色播放www| 伊人久久大香线蕉综合5g| 精品国产日韩久久亚洲| 久久久久国产精品人妻| 亚洲欧美日韩中文久久| 久久久无码精品亚洲日韩按摩| 久久久久亚洲精品天堂| 中文字幕成人精品久久不卡| 亚洲午夜无码AV毛片久久| 少妇人妻88久久中文字幕| 国产成人久久精品区一区二区| 亚洲一区中文字幕久久| 亚洲欧美久久久久9999| 九九久久自然熟的香蕉图片| 国产2021久久精品| 亚洲第一极品精品无码久久| 99久久国产综合精品五月天喷水| 久久久精品国产Sm最大网站| 97精品依人久久久大香线蕉97| 久久夜色精品国产亚洲| 欧洲性大片xxxxx久久久| 亚洲va久久久噜噜噜久久| 国产精品无码久久综合网| 久久综合香蕉国产蜜臀AV| 精品视频久久久久| 亚洲狠狠婷婷综合久久久久| 国产精品无码久久综合网| 一本一道久久综合狠狠老| 久久久久久久久久久免费精品| 人妻精品久久无码区| 久久久网中文字幕| 国产精品久久久久久搜索|