• <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 2286 The Rotation Game 題解

            因為狀態很難儲存
            所以款搜是不可以的
            這個題從網上學了一個好的算法
            用迭代深搜。每次卡一個深度然后去dfs
            這樣搜到解的時候就是那個卡的深度了。
            知道方法后很簡單
             1#include <string.h>
             2#include <stdio.h>
             3const int N = 25;
             4int a[N], ans[100];
             5#define Max(a, b) ((a)>(b)?(a):(b))
             6int f[8][7][2= {
             7    {1,23}{3,1}{7,3}{12,7}{16,12}{21,16}{23,21} }
             8    {2,24}{4,2}{9,4}{13,9}{18,13}{22,18}{24,22} }
             9    {11,5}{10,11}{9,10}{8,9}{7,8}{6,7}{5,6} }
            10    {20,14}{19,20}{18,19}{17,18}{16,17}{15,16}{14,15} }
            11    {24,2}{22,24}{18,22}{13,18}{9,13}{4,9}{2,4} }
            12    {23,1}{21,23}{16,21}{12,16}{7,12}{3,7}{1,3} }
            13    {14,20}{15,14}{16,15}{17,16}{18,17}{19,18}{20,19} }
            14    {5,11}{6,5}{7,6}{8,7}{9,8}{10,9}{11,10} }
            15}
            ;
            16int L, ANS;
            17int check() 
            18{
            19    int ll = a[7];
            20    if(a[8]!=ll || a[9]!=ll || a[12]!=ll || a[13]!=ll ||
            21         a[16]!=ll || a[17]!=ll || a[18]!=ll)
            22         return 0;
            23    return ANS = ll;
            24}

            25int cal() 
            26{
            27    int num[4];
            28    memset(num, 0sizeof(num));
            29    for(int i=7;i<=9;i++)num[a[i]]++;
            30    for(int i=12;i<=13;i++)num[a[i]]++;
            31    for(int i=16;i<=18;i++)num[a[i]]++;
            32    return 8-Max(num[3], Max(num[2], num[1]));
            33}

            34
            35
            36int di(int now) 
            37{
            38    int i, b[N], j, t;
            39    if(now == L)return check();
            40    int c = cal();
            41    if(now + c > L)return 0;
            42    for(i = 0; i < 8++i) 
            43    {
            44        ans[now] = i;
            45        memcpy(b, a, sizeof(a));
            46        for(j = 0; j < 7++j) a[f[i][j][1]] = b[f[i][j][0]];
            47        t = di(now+1);
            48        memcpy(a, b, sizeof(b));
            49        if(t != 0return t;
            50    }

            51    return 0;
            52}

            53
            54int main() {
            55    int i, t;
            56    while(scanf("%d"&a[1]), a[1]) 
            57    {
            58        for(i = 2; i <= 24++i)scanf("%d"&a[i]);
            59        if(check() != 0
            60        {
            61            printf("No moves needed\n%d\n", a[7]);
            62            continue;
            63        }

            64        L = 1;
            65        while( (t = di(0)) == 0)L++;
            66        for(i=0; i<L; ++i)putchar(ans[i]+'A');
            67        printf("\n%d\n", ANS);
            68    }

            69    return 0;
            70}

            71
            72

            posted on 2008-07-19 20:20 gong 閱讀(1066) 評論(0)  編輯 收藏 引用

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

            導航

            統計

            常用鏈接

            留言簿(6)

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品99久久久久久猫咪| 久久国产乱子伦免费精品| 国产精品VIDEOSSEX久久发布| 国产精品综合久久第一页 | 国产精久久一区二区三区| 国内精品久久久久久久亚洲| 模特私拍国产精品久久| 久久精品人人做人人爽电影蜜月| 91亚洲国产成人久久精品网址| 亚洲精品tv久久久久久久久久| 91精品国产综合久久久久久| 性做久久久久久免费观看| 97久久超碰国产精品旧版| 久久人妻少妇嫩草AV蜜桃| 狠狠色婷婷综合天天久久丁香| 久久久久久国产精品美女| 久久99精品国产麻豆蜜芽| 久久精品aⅴ无码中文字字幕不卡| 久久综合久久伊人| 99久久精品免费国产大片| 久久人人爽人人爽人人片AV不 | 久久夜色精品国产噜噜亚洲AV| 精品无码人妻久久久久久| 久久国产精品国产自线拍免费| 色欲久久久天天天综合网精品| 久久精品女人天堂AV麻| 久久无码av三级| 伊人色综合久久| 久久se精品一区精品二区| www久久久天天com| 久久久久亚洲AV成人片| 乱亲女H秽乱长久久久| 日日躁夜夜躁狠狠久久AV| 久久婷婷人人澡人人爽人人爱| 人人妻久久人人澡人人爽人人精品 | 国产99久久九九精品无码| 久久精品成人免费看| 久久精品国内一区二区三区| 国产精品久久久久无码av| 国产精品福利一区二区久久| 国产精品久久波多野结衣|