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

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品久久国产精麻豆99网站| 久久精品亚洲福利| 精品乱码久久久久久久| 久久精品中文字幕无码绿巨人| 久久人人爽人人爽人人片av高请 | 一本一本久久A久久综合精品| 少妇高潮惨叫久久久久久| 久久99热精品| 国内精品九九久久精品 | 亚洲精品无码久久千人斩| 国产精品久久久久…| 伊人久久大香线蕉无码麻豆| 成人综合伊人五月婷久久| 久久综合九色综合久99| 国产精品久久久天天影视| 久久天天躁狠狠躁夜夜躁2014| 国产精品视频久久久| 久久精品一本到99热免费| 久久久久久久久久免免费精品| 精品久久久久中文字幕日本| 99久久无色码中文字幕人妻| 国产精品久久久久乳精品爆| 国产美女久久久| 国产精品美女久久久久久2018| 久久天天躁狠狠躁夜夜2020一| 国产精品美女久久久久AV福利| 国产Av激情久久无码天堂| 亚洲精品乱码久久久久久蜜桃不卡 | 99re这里只有精品热久久| 中文成人久久久久影院免费观看| 99久久精品费精品国产| 久久99免费视频| 久久不射电影网| 日韩欧美亚洲综合久久影院d3| 久久超乳爆乳中文字幕| 国产美女久久久| 久久无码av三级| 狠狠色伊人久久精品综合网| 精品久久人人做人人爽综合| 久久精品无码av| 手机看片久久高清国产日韩|