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

            聚精會(huì)神搞建設(shè) 一心一意謀發(fā)展
            posts - 190, comments - 17, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            ZOJ 2050 - Flip Game

            Posted on 2008-05-20 14:20 superman 閱讀(257) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ZOJ
             1 /* Accepted 2050 C++ 00:00.02 920K */
             2 #include <queue>
             3 #include <stdio.h>
             4 #include <iostream>
             5 
             6 using namespace std;
             7 
             8 struct rec { int n, m; };
             9 
            10 int main()
            11 {
            12     int N;
            13     cin >> N;
            14     while(N--)
            15     {
            16         int n = 0char c;
            17         for(int i = 0; i < 16; i++)
            18         {
            19             cin.get(c);
            20             if(c == '\n')
            21             {
            22                 i--;
            23                 continue;
            24             }
            25             if(c == 'b')
            26                 n |= (1 << i);
            27         }
            28         
            29         rec cur = {n, 0};
            30         queue <rec> q;
            31         q.push(cur);
            32         
            33         bool repeat[65536= {false}, find = false;
            34         while(q.empty() == false)
            35         {
            36             cur = q.front(); q.pop();
            37             
            38             if(cur.n == 0 || cur.n == 65535)
            39             {
            40                 cout << cur.m << endl;
            41                 find = true;
            42                 break;
            43             }
            44             
            45             for(int i = 0; i < 16; i++)
            46             {
            47                 int t = cur.n;
            48                 
            49                 t ^= (1 << i);
            50                 if(i - 4 >= 0)
            51                     t ^= (1 << (i - 4));
            52                 if(i + 4 < 16)
            53                     t ^= (1 << (i + 4));
            54                 if(i % 4 - 1 >= 0)
            55                     t ^= (1 << (i - 1));
            56                 if(i % 4 + 1 < 4)
            57                     t ^= (1 << (i + 1));
            58                 
            59                 if(repeat[t] == false)
            60                 {
            61                     repeat[t] = true;
            62                     rec tmp = {t, cur.m + 1};
            63                     q.push(tmp);
            64                 }
            65             }
            66         }
            67         
            68         if(find == false)
            69             cout << "Impossible" << endl;
            70         if(N)
            71             cout << endl;
            72     }
            73     
            74     return 0;
            75 }
            76 
            狠狠色丁香婷综合久久| 久久精品日日躁夜夜躁欧美| 国产成人精品免费久久久久| 精品久久久久久久国产潘金莲 | 香蕉久久夜色精品国产尤物| 国内精品欧美久久精品| 久久久精品波多野结衣| 青青草原综合久久大伊人| 久久久久99精品成人片欧美| 精品久久久久久无码中文字幕| 一级女性全黄久久生活片免费| 久久精品国产亚洲AV无码麻豆| 国产激情久久久久影院老熟女免费| 久久久久久免费视频| 青青热久久综合网伊人| 久久精品亚洲AV久久久无码| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久99精品久久久久久野外| 一级做a爰片久久毛片毛片| 久久婷婷五月综合97色一本一本| 久久精品无码一区二区日韩AV| 久久精品国产久精国产一老狼| 精品国产婷婷久久久| 久久婷婷五月综合97色| 久久久久波多野结衣高潮| 久久男人中文字幕资源站| 欧美777精品久久久久网| 色欲久久久天天天综合网精品| 婷婷久久精品国产| 91久久香蕉国产熟女线看| 国产精品久久自在自线观看| 国产aⅴ激情无码久久| 色综合久久88色综合天天 | 国产精品久久久久一区二区三区 | 久久狠狠爱亚洲综合影院| 久久人妻少妇嫩草AV无码蜜桃 | 久久久久亚洲AV无码观看| 午夜福利91久久福利| 伊人色综合久久天天网| 亚洲人AV永久一区二区三区久久| 久久亚洲精品无码播放|