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

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            69SEX久久精品国产麻豆| 国产69精品久久久久99尤物| 国产精品日韩深夜福利久久| 亚洲成色999久久网站| 久久精品中文字幕有码| 国内精品伊人久久久久妇| 波多野结衣中文字幕久久| 久久国产精品-久久精品| 国产精品久久新婚兰兰| 九九久久精品无码专区| 99久久国产热无码精品免费| 国产精品久久久久天天影视| 日本精品一区二区久久久 | 久久久久99精品成人片三人毛片| 国产成人香蕉久久久久| 久久午夜免费视频| 夜夜亚洲天天久久| 久久久久久久久无码精品亚洲日韩| 99久久综合国产精品二区| 色8久久人人97超碰香蕉987| 日本加勒比久久精品| 99久久久久| 久久成人国产精品二三区| 久久人人爽人人爽人人av东京热| 国产精品久久久久久久久久免费| 国产Av激情久久无码天堂| 中文字幕久久精品无码| 18禁黄久久久AAA片| 亚洲国产小视频精品久久久三级 | 久久久无码精品亚洲日韩按摩 | 久久99国产精品久久99果冻传媒| 97香蕉久久夜色精品国产| 一本一道久久精品综合| 久久久久国产精品熟女影院| 亚洲国产精品久久电影欧美| 久久综合亚洲色一区二区三区| 久久一区二区三区99| 伊人久久大香线蕉无码麻豆| 久久天天日天天操综合伊人av| 国产精品久久久久久久午夜片 | 色播久久人人爽人人爽人人片AV|