青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

superman

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

Section 3.3 - Camelot

Posted on 2009-06-04 13:50 superman 閱讀(255) 評論(0)  編輯 收藏 引用 所屬分類: USACO
  1 #include <queue>
  2 #include <iostream>
  3 
  4 using namespace std;
  5 
  6 struct point {
  7     int x, y;
  8     point operator+(const point &p) const {
  9         point np = { x + p.x, y + p.y };
 10         return np;
 11     }
 12 }   ;
 13 
 14 int r, c, knightsNum;
 15 point king, knights[30 * 26];
 16 
 17 const point kinghtDir[8= {
 18     {-2+1}, {-1+2}, {+1+2}, {+2+1},
 19     {+2-1}, {+1-2}, {-1-2}, {-2-1}
 20 }   ;
 21 
 22 inline bool inside(const point &p) {
 23     return p.x >= 0 && p.x < r && p.y >= 0 && p.y < c;
 24 }
 25 
 26 int dist[30][26][30][26];
 27 void spfa(const point &s)
 28 {
 29     for (int i = 0; i < r; i++)
 30     for (int j = 0; j < c; j++)
 31         dist[s.x][s.y][i][j] = INT_MAX;
 32     dist[s.x][s.y][s.x][s.y] = 0;
 33 
 34     queue<point> q;
 35     q.push(s);
 36 
 37     point cp;   //current point
 38     point np;   //next point
 39     while (q.empty() == false)
 40     {
 41         cp = q.front(); q.pop();
 42         for (int i = 0; i < 8; i++)
 43         {
 44             np = cp + kinghtDir[i];
 45             if (inside(np) && dist[s.x][s.y][cp.x][cp.y] + 1 < dist[s.x][s.y][np.x][np.y])
 46             {
 47                 dist[s.x][s.y][np.x][np.y] = dist[s.x][s.y][cp.x][cp.y] + 1;
 48                 q.push(np);
 49             }
 50         }
 51     }
 52 }
 53 
 54 int ans = INT_MAX;
 55 void gather(int tx, int ty)
 56 {
 57     int sum = 0;
 58     for (int i = 0; i < knightsNum; i++)
 59         sum += dist[knights[i].x][knights[i].y][tx][ty];
 60 
 61     if (sum > ans)
 62         return;
 63 
 64     for (int i = max(0, king.x - 2); i <= min(r - 1, king.x + 2); i++)
 65     for (int j = max(0, king.y - 2); j <= min(c - 1, king.y + 2); j++)
 66     {
 67         int tmp;
 68         if (i == king.x && j == king.y)
 69             tmp = 0;
 70         else
 71         {
 72             if (abs(i - king.x) == 1 || abs(j - king.y == 1))
 73                 tmp = 1;
 74             else
 75                 tmp = 2;
 76         }
 77         for (int k = 0; k < knightsNum; k++)
 78             if (dist[knights[k].x][knights[k].y][i][j] != INT_MAX &&
 79                 dist[i][j][tx][ty] != INT_MAX)
 80             ans <?= (sum - dist[knights[k].x][knights[k].y][tx][ty]
 81                 + tmp + dist[knights[k].x][knights[k].y][i][j] + dist[i][j][tx][ty]);
 82     }
 83 }
 84 
 85 int main()
 86 {
 87     freopen("camelot.in""r", stdin);
 88     freopen("camelot.out""w", stdout);
 89 
 90     cin >> r >> c;
 91 
 92     {
 93         char a; int b;
 94         cin >> a >> b;
 95         king.y = a - 'A', king.x = b - 1;
 96         while (cin >> a >> b)
 97         {
 98             knights[knightsNum].y = a - 'A';
 99             knights[knightsNum].x = b - 1;
100             knightsNum++;
101         }
102     }
103 
104     if (knightsNum == 0)
105     {
106         cout << 0 << endl;
107         return 0;
108     }
109 
110     for (int i = 0; i < r; i++)
111     for (int j = 0; j < c; j++)
112     {
113         point cp = { i, j };
114         spfa(cp);
115     }
116 
117     for (int i = 0; i < r; i++)
118     for (int j = 0; j < c; j++)
119         gather(i, j);
120 
121     cout << ans << endl;
122 
123     return 0;
124 }
125 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久国产精品久久久| 午夜精品成人在线视频| 欧美在线一区二区| 91久久夜色精品国产九色| 欧美成人日韩| 蜜桃av一区二区| 久久久久久**毛片大全| 久久综合五月天婷婷伊人| 久久精品国产综合精品| 欧美一区二视频在线免费观看| 欧美在线视频一区二区| 久久夜色精品国产亚洲aⅴ| 欧美成人精品一区| 欧美剧在线免费观看网站| 国产精品av免费在线观看| 国产精品一区视频网站| 国产亚洲激情在线| 亚洲精品日韩在线| 亚洲欧美一区二区在线观看| 久久久国产一区二区| 亚洲成色最大综合在线| 一本一本久久| 久久精品理论片| 免费观看成人| 欧美视频一区二区在线观看| 欧美视频你懂的| 国产精品美女在线观看| 永久久久久久| 亚洲综合精品| 欧美大香线蕉线伊人久久国产精品| 亚洲国产成人av好男人在线观看| 亚洲一区二区在线免费观看| 美女视频黄免费的久久| 国产精品伦一区| 亚洲精品久久久久久久久久久| 久久精品1区| 在线亚洲欧美| 欧美日韩爆操| 亚洲欧洲日产国产综合网| 久久久久国产精品一区三寸| 一区二区毛片| 欧美激情一区二区三区高清视频 | 欧美吻胸吃奶大尺度电影| 亚洲高清资源| 欧美呦呦网站| 一本到12不卡视频在线dvd| 亚洲第一天堂av| 在线视频精品| 亚洲国产高清在线观看视频| 亚洲福利视频一区二区| 在线视频免费在线观看一区二区| 亚洲在线视频网站| 免费日韩视频| 欧美大片va欧美在线播放| 国产精品日韩专区| 国产欧美日韩另类视频免费观看 | 久久一区二区三区超碰国产精品| 久久九九全国免费精品观看| 久久综合999| 亚洲免费成人av| 亚洲综合视频1区| 久久免费黄色| 欧美视频二区36p| 亚洲第一主播视频| 亚洲一区综合| 欧美黄色aa电影| 亚洲欧美一区在线| 久久手机免费观看| 欧美日韩在线播放| 国产精品久久综合| 欧美色图一区二区三区| 国产精品婷婷| 亚洲精品日韩在线| 久久久久久久成人| 日韩视频第一页| 亚洲一区二区三区高清| 欧美在线视频二区| 欧美四级电影网站| 亚洲人成久久| 经典三级久久| 欧美一区二区视频97| 亚洲区一区二区三区| 亚洲免费网址| 欧美视频一区| 国产日韩一级二级三级| 亚洲欧美日韩天堂| 一本色道久久综合精品竹菊 | 合欧美一区二区三区| 久久成人亚洲| 一本色道久久88综合日韩精品 | 久久人人爽人人| 国产精品久久久亚洲一区| 日韩视频一区| 午夜精品福利一区二区蜜股av| 欧美激情视频一区二区三区免费 | 久久国产视频网| 亚洲一区999| 欧美天天综合网| 亚洲一区二区三区中文字幕在线| 欧美电影美腿模特1979在线看| 羞羞色国产精品| 亚洲欧美在线一区二区| 国产女精品视频网站免费| 香蕉久久夜色| 欧美大色视频| 亚洲女同在线| 9l视频自拍蝌蚪9l视频成人| 欧美精品粉嫩高潮一区二区 | 免费亚洲电影| aⅴ色国产欧美| 国产精品国产三级国产专播品爱网| 一区二区三区不卡视频在线观看| 日韩一区二区久久| 欧美精品一区二区三区高清aⅴ| 日韩一级片网址| 亚洲日韩欧美视频一区| 欧美视频二区36p| 国产精品久久一区主播| 久久精品人人做人人综合| 欧美一区1区三区3区公司| 一区二区三区在线高清| 免费观看一区| 欧美日韩一级黄| 欧美一区二区三区男人的天堂| 午夜精品99久久免费| 久久亚洲一区二区| 欧美一区二区三区免费大片| 国产精品都在这里| 久久久99久久精品女同性| 久久国产一区二区| 99综合视频| 亚洲视频一区在线| 亚洲第一福利视频| 在线视频日韩精品| 在线成人性视频| 亚洲精品在线观| 欧美午夜电影完整版| 久久免费国产精品| 欧美日韩免费观看一区| 欧美午夜精品久久久久久浪潮| 久久av一区二区三区亚洲| 麻豆国产精品一区二区三区| 亚洲午夜一区二区三区| 99pao成人国产永久免费视频| 国产精品美女www爽爽爽| 免费不卡在线观看av| 欧美日韩美女| 欧美ed2k| 国产精品久久久久久久电影| 亚洲成色777777女色窝| 欧美一区二区视频在线| 欧美亚洲自偷自偷| 欧美精品亚洲| 另类专区欧美制服同性| 国产精品大片| 欧美激情一区二区在线 | 欧美制服丝袜| 免费成人在线视频网站| 亚洲青涩在线| 久久这里有精品15一区二区三区| 久久国产免费看| 久久精品国产免费观看| 国产精品久久久久久久久久久久久久 | 中日韩美女免费视频网址在线观看 | 国产一区二区三区久久悠悠色av| 亚洲精品视频在线观看免费| 亚洲国产毛片完整版| 校园激情久久| 久久成人综合网| 国产精品实拍| 亚洲一区二区不卡免费| 亚洲视频观看| 欧美网站在线观看| 亚洲精品资源| 一区二区高清在线观看| 欧美大片免费久久精品三p| 欧美成人精品1314www| 亚洲欧美春色| 久久国产精品电影| 久久婷婷丁香| 樱桃国产成人精品视频| 久久国产夜色精品鲁鲁99| 久久女同精品一区二区| 99国产精品视频免费观看| 国产亚洲精品久| 久久精品一区蜜桃臀影院| 久久精品日产第一区二区| 国产一区二区三区直播精品电影| 99精品99久久久久久宅男| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区av| 欧美亚洲综合久久| 国产精品午夜在线观看| 欧美日韩在线三区| 亚洲综合日韩中文字幕v在线| 久久精品夜色噜噜亚洲aⅴ| 亚洲成人在线视频播放| 欧美大片91| 亚洲精品三级| 性亚洲最疯狂xxxx高清|