• <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)系 :: 聚合  :: 管理

            Section 3.2 - Magic Squares

            Posted on 2009-05-18 00:16 superman 閱讀(261) 評(píng)論(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 
            久久久久久伊人高潮影院| 亚洲AV日韩精品久久久久久久| 久久综合噜噜激激的五月天| 久久夜色精品国产网站| 99999久久久久久亚洲| 久久青青国产| 欧洲人妻丰满av无码久久不卡| 久久99精品国产99久久| 青青青青久久精品国产h久久精品五福影院1421 | 国产精品美女久久久久网| 久久亚洲欧洲国产综合| 国产韩国精品一区二区三区久久 | 久久久久久久久久久久中文字幕| 狠狠狠色丁香婷婷综合久久俺| 久久一区二区三区99| 99999久久久久久亚洲| 久久综合久久美利坚合众国| 国产亚洲欧美成人久久片| 欧美激情一区二区久久久| 精品久久人人做人人爽综合| 久久香蕉国产线看观看精品yw| 久久久久这里只有精品 | 亚洲精品无码久久千人斩| 99久久亚洲综合精品成人| 日日噜噜夜夜狠狠久久丁香五月| 久久精品国产精品亚洲人人 | 日韩人妻无码一区二区三区久久99| 99久久久精品| 国产婷婷成人久久Av免费高清| 久久精品视频一| 久久国产AVJUST麻豆| 久久丝袜精品中文字幕| 国产精品欧美久久久久天天影视 | 囯产精品久久久久久久久蜜桃| 香蕉99久久国产综合精品宅男自 | 亚洲精品国产自在久久| 久久国产三级无码一区二区| 大蕉久久伊人中文字幕| 国产99久久久久久免费看| 日本三级久久网| 久久精品国产国产精品四凭|