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

superman

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

Section 2.1 - The Castle

Posted on 2009-03-25 11:22 superman 閱讀(126) 評論(0)  編輯 收藏 引用 所屬分類: USACO
  1 #include <iostream>
  2 
  3 using namespace std;
  4 
  5 int n, m;
  6 int castleStructure[50][50];
  7 int castleRegion[50][50];
  8 
  9 int regionCnt;
 10 int areaOfRegions[2500];
 11 
 12 void getRegion(int i, int j)
 13 {
 14     if (castleRegion[i][j] != -1)
 15         return;
 16     castleRegion[i][j] = regionCnt;
 17     if ((castleStructure[i][j] & 1== 0)   //W
 18         getRegion(i, j - 1);
 19     if ((castleStructure[i][j] & 2== 0)   //N
 20         getRegion(i - 1, j);
 21     if ((castleStructure[i][j] & 4== 0)   //E
 22         getRegion(i, j + 1);
 23     if ((castleStructure[i][j] & 8== 0)   //S
 24         getRegion(i + 1, j);
 25 }
 26 
 27 int main()
 28 {
 29     freopen("castle.in""r", stdin);
 30     freopen("castle.out""w", stdout);
 31 
 32     cin >> m >> n;
 33     for (int i = 0; i < n; i++)
 34     for (int j = 0; j < m; j++)
 35         cin >> castleStructure[i][j];
 36 
 37     memset(castleRegion, 255sizeof(castleRegion));
 38 
 39     for (int i = 0; i < n; i++)
 40     for (int j = 0; j < m; j++)
 41         if (castleRegion[i][j] == -1)
 42         {
 43             getRegion(i, j);
 44             regionCnt++;
 45         }
 46 
 47     //ans 1
 48     cout << regionCnt << endl;
 49 
 50     for (int i = 0; i < n; i++)
 51     for (int j = 0; j < m; j++)
 52         areaOfRegions[castleRegion[i][j]]++;
 53 
 54     int maxAreaOfRegions = 0;
 55     for (int i = 0; i < regionCnt; i++)
 56         maxAreaOfRegions >?= areaOfRegions[i];
 57 
 58     //ans 2
 59     cout << maxAreaOfRegions << endl;
 60 
 61     int maxAreaAfterRemoveOneWall = 0;
 62     struct { int x, y, dir; } theWallToRemove;
 63 
 64     for (int j = 0; j < m; j++)
 65         for (int i = n - 1; i >= 0; i--)
 66         {
 67             if ((castleStructure[i][j] & 1== 1 && j - 1 >= 0)   //W
 68             {
 69                 if (castleRegion[i][j] == castleRegion[i][j - 1])
 70                     continue;
 71                 int t = areaOfRegions[castleRegion[i][j]] + areaOfRegions[castleRegion[i][j - 1]];
 72                 if (t > maxAreaAfterRemoveOneWall)
 73                 {
 74                     maxAreaAfterRemoveOneWall = t;
 75                     theWallToRemove.x = i;
 76                     theWallToRemove.y = j;
 77                     theWallToRemove.dir = 1;
 78                 }
 79             }
 80             if ((castleStructure[i][j] & 2== 2 && i - 1 >= 0)   //N
 81             {
 82                 if (castleRegion[i][j] == castleRegion[i - 1][j])
 83                     continue;
 84                 int t = areaOfRegions[castleRegion[i][j]] + areaOfRegions[castleRegion[i - 1][j]];
 85                 if (t > maxAreaAfterRemoveOneWall)
 86                 {
 87                     maxAreaAfterRemoveOneWall = t;
 88                     theWallToRemove.x = i;
 89                     theWallToRemove.y = j;
 90                     theWallToRemove.dir = 2;
 91                 }
 92             }
 93             if ((castleStructure[i][j] & 4== 4 && j + 1 < m)   //E
 94             {
 95                 if (castleRegion[i][j] == castleRegion[i][j + 1])
 96                     continue;
 97                 int t = areaOfRegions[castleRegion[i][j]] + areaOfRegions[castleRegion[i][j + 1]];
 98                 if (t > maxAreaAfterRemoveOneWall)
 99                 {
100                     maxAreaAfterRemoveOneWall = t;
101                     theWallToRemove.x = i;
102                     theWallToRemove.y = j;
103                     theWallToRemove.dir = 4;
104                 }
105             }
106             if ((castleStructure[i][j] & 8== 8 && i + 1 < n)   //S
107             {
108                 if (castleRegion[i][j] == castleRegion[i + 1][j])
109                     continue;
110                 int t = areaOfRegions[castleRegion[i][j]] + areaOfRegions[castleRegion[i + 1][j]];
111                 if (t > maxAreaAfterRemoveOneWall)
112                 {
113                     maxAreaAfterRemoveOneWall = t;
114                     theWallToRemove.x = i;
115                     theWallToRemove.y = j;
116                     theWallToRemove.dir = 8;
117                 }
118             }
119         }
120 
121     //ans 3
122     cout << maxAreaAfterRemoveOneWall << endl;
123     cout << theWallToRemove.x + 1 << ' '
124          << theWallToRemove.y + 1 << ' ';
125     if (theWallToRemove.dir == 1) cout << 'W' << endl;
126     if (theWallToRemove.dir == 2) cout << 'N' << endl;
127     if (theWallToRemove.dir == 4) cout << 'E' << endl;
128     if (theWallToRemove.dir == 8) cout << 'S' << endl;
129 
130     return 0;
131 }
132 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            1000精品久久久久久久久| 亚洲午夜精品一区二区| 狠狠久久亚洲欧美| 欧美日韩国产影片| 久久精品一二三区| 亚洲一区二区视频在线| 亚洲国产精品va在看黑人| 久久精品国产99| 亚洲女同在线| 亚洲午夜久久久| 亚洲尤物精选| 亚洲一区免费观看| 亚洲综合日本| 欧美三级午夜理伦三级中文幕| 黄页网站一区| 国产一区二区电影在线观看| 欧美mv日韩mv国产网站| 欧美成人资源网| 欧美在线免费看| 久热国产精品| 欧美精品在线看| 国产精品久久久久久久久久尿 | 国产一区二区三区在线观看精品| 激情六月婷婷综合| 亚洲高清久久| 一级日韩一区在线观看| 亚洲欧美成人一区二区在线电影| 久久精品视频一| 欧美激情精品久久久久久蜜臀| 亚洲人在线视频| 亚洲一区二区三区在线看| 欧美在线首页| 美女诱惑黄网站一区| 欧美精品一区二区精品网 | 欧美日韩精品福利| 欧美日本一区二区高清播放视频| 欧美性做爰毛片| 欧美日韩伦理在线| 国产亚洲精品v| 亚洲免费成人| 午夜精品美女自拍福到在线 | 欧美一区二区在线播放| 久久久人人人| 日韩午夜在线视频| 久久婷婷激情| 免费久久精品视频| 性欧美8khd高清极品| 亚洲欧美综合| 免费视频亚洲| 国产午夜精品一区二区三区欧美 | 国产日韩欧美91| 欧美一区二区精美| 欧美日韩伦理在线免费| 午夜精彩视频在线观看不卡| 久久久久久久91| 欧美日韩亚洲一区二| 欧美三级欧美一级| 一区二区在线免费观看| 亚洲欧美一区二区三区久久| 欧美二区视频| 欧美一进一出视频| 欧美成人免费播放| 韩国成人理伦片免费播放| 亚洲午夜久久久久久尤物| 欧美激情在线免费观看| 欧美在线www| 国产精品国产三级国产aⅴ9色| 国产美女一区二区| 99re6这里只有精品视频在线观看| 久久av资源网站| 亚洲一区二区三区在线观看视频| 欧美日韩伦理在线免费| av成人福利| 亚洲精品乱码久久久久久日本蜜臀| 久久麻豆一区二区| 国产日韩精品在线播放| 亚洲欧美日韩国产一区二区三区| 日韩午夜激情电影| 亚洲精品1区2区| 欧美精品一卡二卡| 一本久久青青| 日韩午夜激情电影| 欧美日韩一区二区三区在线| 亚洲第一天堂无码专区| 免费亚洲网站| 你懂的成人av| 亚洲欧洲一区二区在线播放| 欧美v日韩v国产v| 亚洲专区免费| 国产欧美在线| 久久亚洲私人国产精品va| 久久国产精品99久久久久久老狼| 玖玖国产精品视频| 国产亚洲一区二区精品| 欧美中文在线观看| 中文精品视频| 亚洲高清色综合| 亚洲国产精品毛片| 欧美日韩国产综合视频在线观看中文| 亚洲人线精品午夜| 久久蜜桃香蕉精品一区二区三区| 日韩视频免费看| 亚洲人成毛片在线播放| 91久久黄色| 欧美在线视频导航| 亚洲夜间福利| 亚洲一区一卡| 亚洲欧美在线看| 欧美一区二区精品久久911| 日韩一级欧洲| 亚洲精品国产精品乱码不99按摩| 一色屋精品亚洲香蕉网站| 国产欧美丝祙| 国产欧美精品日韩| 国产亚洲欧美另类中文| 亚洲欧美视频在线观看| 久久超碰97人人做人人爱| 99re6这里只有精品| 宅男精品视频| 亚洲伊人色欲综合网| 欧美影院在线播放| 欧美成人一区二区在线| 欧美日韩在线观看视频| 国产精品久久久久永久免费观看| 欧美精品亚洲一区二区在线播放| 亚洲三级免费| 伊人久久久大香线蕉综合直播| 永久免费精品影视网站| 国产精品99久久99久久久二8| 久久精品亚洲热| 亚洲精品视频一区| 欧美风情在线观看| 欧美va日韩va| 老鸭窝91久久精品色噜噜导演| 欧美一级视频精品观看| 欧美日韩大片一区二区三区| 亚洲激情第一区| 欧美激情一区二区三区在线视频| 亚洲欧洲精品一区二区三区| 在线亚洲电影| 午夜精品电影| 免费在线亚洲| 国产欧美日韩在线观看| 91久久精品美女| 久久精品国产99精品国产亚洲性色| 亚洲国产另类久久精品| 篠田优中文在线播放第一区| 午夜国产不卡在线观看视频| 久久久精品国产一区二区三区| 欧美福利在线| 久久视频精品在线| 国产精品一区三区| 亚洲私拍自拍| 日韩天天综合| 国产精品播放| 午夜日韩激情| 欧美一区二区视频观看视频| 国产精品一区视频网站| 亚洲专区一区| 久久久另类综合| 欧美午夜片在线免费观看| 亚洲精品九九| 亚洲另类自拍| 国产精品免费久久久久久| 久久国产精品黑丝| 欧美影院在线播放| 136国产福利精品导航网址应用| 欧美不卡视频| 国产精品青草综合久久久久99| 欧美在线日韩| 女仆av观看一区| 欧美一级片久久久久久久| 亚洲午夜电影在线观看| 国产人妖伪娘一区91| 看片网站欧美日韩| 亚洲一区www| 欧美国产日韩一区| 久久中文精品| 国产精品毛片大码女人| 亚洲国产精品综合| 国产区欧美区日韩区| 亚洲日本va午夜在线电影| 国产精品久久国产愉拍| 亚洲国产精品一区二区www在线| 国产午夜久久久久| 亚洲在线不卡| 亚洲无毛电影| 国产精品久久久久久久久果冻传媒| 欧美成人中文字幕在线| 一区二区三区自拍| 欧美亚洲一区二区在线| 午夜精品影院| 国产一区观看| 久久精品国产成人| 美女脱光内衣内裤视频久久影院 | 欧美在线一级va免费观看| 欧美日韩成人精品| 亚洲一区二区精品| 性xx色xx综合久久久xx| 一区二区三区在线观看国产|