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

            superman

            聚精會神搞建設 一心一意謀發展
            posts - 190, comments - 17, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            URAL 1060 - Flip Game

            Posted on 2008-04-16 02:34 superman 閱讀(352) 評論(0)  編輯 收藏 引用 所屬分類: URAL
             1 /* C++ Accepted 0.015 380 KB */
             2 #include <queue>
             3 #include <iostream>
             4 
             5 using namespace std;
             6 
             7 struct rec { int n, m; };
             8 
             9 int main()
            10 {
            11     int n = 0char c;
            12     for(int i = 0; i < 16; i++)
            13     {
            14         cin.get(c);
            15         if(c == '\n')
            16         {
            17             i--;
            18             continue;
            19         }
            20         if(c == 'b')
            21             n |= (1 << i);
            22     }
            23     
            24     rec cur = {n, 0};
            25     queue <rec> q;
            26     q.push(cur);
            27     
            28     bool repeat[65536= {false}, find = false;
            29     while(q.empty() == false)
            30     {
            31         cur = q.front(); q.pop();
            32         
            33         if(cur.n == 0 || cur.n == 65535)
            34         {
            35             cout << cur.m << endl;
            36             find = true;
            37             break;
            38         }
            39         
            40         for(int i = 0; i < 16; i++)
            41         {
            42             int t = cur.n;
            43             
            44             t ^= (1 << i);
            45             if(i - 4 >= 0)
            46                 t ^= (1 << (i - 4));
            47             if(i + 4 < 16)
            48                 t ^= (1 << (i + 4));
            49             if(i % 4 - 1 >= 0)
            50                 t ^= (1 << (i - 1));
            51             if(i % 4 + 1 < 4)
            52                 t ^= (1 << (i + 1));
            53             
            54             if(repeat[t] == false)
            55             {
            56                 repeat[t] = true;
            57                 rec tmp = {t, cur.m + 1};
            58                 q.push(tmp);
            59             }
            60         }
            61     }
            62     
            63     if(find == false)
            64         cout << "Impossible" << endl;
            65     
            66     return 0;
            67 }
            68 
            欧美久久综合九色综合| 91精品免费久久久久久久久| 伊人久久精品线影院| 亚洲国产成人精品女人久久久 | 久久久精品久久久久特色影视| 国产精品成人久久久久三级午夜电影| 久久精品黄AA片一区二区三区| 91久久成人免费| 久久精品国产亚洲AV无码娇色| 精品久久久久一区二区三区| 怡红院日本一道日本久久| 77777亚洲午夜久久多喷| 亚洲国产另类久久久精品黑人| 亚洲日本va午夜中文字幕久久| 精品午夜久久福利大片| 国产精品天天影视久久综合网| 99久久综合国产精品免费| 久久精品国产99久久丝袜| 久久久久久综合一区中文字幕| 久久se精品一区二区影院 | 久久99精品国产麻豆| 亚洲人成伊人成综合网久久久| 狠狠色丁香久久婷婷综合图片| 国产69精品久久久久观看软件| 亚洲国产精品一区二区三区久久| 久久久久综合国产欧美一区二区| 久久综合九色综合久99| 久久精品99久久香蕉国产色戒 | 精品熟女少妇AV免费久久| 精品久久久中文字幕人妻| 人妻少妇久久中文字幕一区二区| 亚洲天堂久久精品| 精品久久久久久无码人妻热| 久久久久免费精品国产| 久久国产精品成人影院| 欧洲成人午夜精品无码区久久 | 久久国产精品二国产精品| 精品国产乱码久久久久久呢| 色噜噜狠狠先锋影音久久| A狠狠久久蜜臀婷色中文网| 少妇精品久久久一区二区三区 |