• <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 閱讀(1067) 評論(0)  編輯 收藏 引用

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

            導航

            統計

            常用鏈接

            留言簿(6)

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久天天躁狠狠躁夜夜96流白浆 | 久久久亚洲欧洲日产国码aⅴ| 狠狠色婷婷久久综合频道日韩 | 浪潮AV色综合久久天堂| 精品乱码久久久久久久| 欧美日韩中文字幕久久久不卡| 亚洲中文精品久久久久久不卡| 成人精品一区二区久久久| 国产成人综合久久精品红| 亚洲国产精品久久| 国产成人精品久久| 伊人 久久 精品| 国产精品成人久久久久三级午夜电影 | 91精品国产高清久久久久久国产嫩草 | 亚洲av日韩精品久久久久久a| 色偷偷888欧美精品久久久| 超级碰碰碰碰97久久久久| 国产成人久久精品麻豆一区| 久久经典免费视频| 久久久黄片| 久久AⅤ人妻少妇嫩草影院| 国产成人无码久久久精品一| 无码精品久久久久久人妻中字| 久久伊人精品青青草原日本| 久久成人永久免费播放| 久久免费国产精品一区二区| 国产99久久精品一区二区| 久久久av波多野一区二区| 久久久老熟女一区二区三区| 亚洲精品美女久久777777| 精品久久久久久国产| 99精品久久久久久久婷婷| 亚洲中文字幕久久精品无码喷水| 久久精品青青草原伊人| 狠狠精品久久久无码中文字幕 | 久久久久久久免费视频| 久久成人国产精品一区二区| 久久久久一级精品亚洲国产成人综合AV区| 久久精品九九亚洲精品天堂| 国产成人精品久久一区二区三区av | 青青草国产成人久久91网|