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

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

            Section 3.2 - Magic Squares

            Posted on 2009-05-18 00:16 superman 閱讀(257) 評論(0)  編輯 收藏 引用 所屬分類: USACO
             1 #include <map>
             2 #include <queue>
             3 #include <iostream>
             4 
             5 using namespace std;
             6 
             7 int init_state, target_state;
             8 
             9 void get_init_and_target_state()
            10 {
            11     init_state = 12345678;
            12     for (int i = 0, x, t = 10000000; i < 8; i++, t /= 10)
            13     {
            14         cin >> x;
            15         target_state += x * t;
            16     }
            17 }
            18 
            19 map<intstring> stateMap;
            20 
            21 int main()
            22 {
            23     freopen("msquare.in""r", stdin);
            24     freopen("msquare.out""w", stdout);
            25 
            26     get_init_and_target_state();
            27 
            28     queue<int> q;
            29     q.push(init_state);
            30     stateMap.insert(make_pair(init_state, ""));
            31 
            32     while (q.empty() == false)
            33     {
            34         int cur = q.front(); q.pop();
            35 
            36         if (cur == target_state)
            37         {
            38             cout << stateMap.find(cur)->second.size() << endl;
            39             cout << stateMap.find(cur)->second << endl;
            40             return 0;
            41         }
            42 
            43         int x[10= { 0 };
            44         for (int i = 8, t = cur; t; i--, t /= 10)
            45             x[i] = t % 10;
            46 
            47         int na = x[8* 10000000 + x[7* 1000000 + x[6* 100000 +
            48                  x[5* 10000 + x[4* 1000 + x[3* 100 + x[2* 10 + x[1];
            49 
            50         int nb = x[4* 10000000 + x[1* 1000000 + x[2* 100000 +
            51                  x[3* 10000 + x[6* 1000 + x[7* 100 + x[8* 10 + x[5];
            52 
            53         int nc = x[1* 10000000 + x[7* 1000000 + x[2* 100000 +
            54                  x[4* 10000 + x[5* 1000 + x[3* 100 + x[6* 10 + x[8];
            55 
            56         map<intstring>::iterator it;
            57         if ((it = stateMap.find(na)) == stateMap.end())
            58         {
            59             it = stateMap.find(cur);
            60             stateMap.insert(make_pair(na, it->second + 'A'));
            61             q.push(na);
            62         }
            63         if ((it = stateMap.find(nb)) == stateMap.end())
            64         {
            65             it = stateMap.find(cur);
            66             stateMap.insert(make_pair(nb, it->second + 'B'));
            67             q.push(nb);
            68         }
            69         if ((it = stateMap.find(nc)) == stateMap.end())
            70         {
            71             it = stateMap.find(cur);
            72             stateMap.insert(make_pair(nc, it->second + 'C'));
            73             q.push(nc);
            74         }
            75     }
            76 
            77     return 0;
            78 }
            79 
            一本一本久久aa综合精品 | 久久精品一本到99热免费| 一个色综合久久| 久久国产亚洲精品无码| 国产精品va久久久久久久| 欧美亚洲国产精品久久久久| 国内精品伊人久久久影院| 99久久精品国产综合一区| 久久精品亚洲日本波多野结衣| 99国产精品久久| 久久精品国产亚洲av麻豆图片| 久久精品中文无码资源站| 久久一区二区三区免费| 国产精品福利一区二区久久| 国产精品99久久久久久猫咪 | 日韩影院久久| 99久久精品免费| 久久久久久久97| 人妻丰满?V无码久久不卡| 狠狠88综合久久久久综合网| 亚洲AV日韩精品久久久久久| 国产A三级久久精品| 国产精品99久久精品爆乳| 久久超碰97人人做人人爱| 久久久久av无码免费网| 99久久精品无码一区二区毛片| 欧美大香线蕉线伊人久久| 精品无码久久久久久尤物| 伊人久久大香线蕉成人| 久久精品这里只有精99品| 久久国产欧美日韩精品免费| 91久久精品无码一区二区毛片| 久久国产免费观看精品3| 亚洲AV无码久久精品狠狠爱浪潮| 久久精品国产精品亚洲下载 | 久久亚洲春色中文字幕久久久| 精品久久久久久无码中文字幕| 91精品婷婷国产综合久久 | 亚洲伊人久久综合影院| 狠狠色丁香久久婷婷综合图片| 久久九九久精品国产|