亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

OJ 40 潘多拉星球的懸浮公寓__深搜

2019-11-14 09:18:45
字體:
來源:轉載
供稿:網友

描述

在潘多拉星球,納威人也熱衷于搞房地產賣給中國人。他們把空中的懸浮山切割成一個個的立方體,然后在上面蓋房子。一個立方體就是一個公寓樓。在懸浮山的表面上,重力是朝向山體中心的,因此每個面都有能住人的房間。作為到處投資的中國IT新貴,你看上了一座懸浮公寓,想知道這個公寓里面有多少個房間,以及最大的房間有多大。自己寫個程序解決這個問題吧。

立方體的每個面被劃分為k*k(k<20)個方格,方格有可能是平地,也有可能墻,墻無法通過。連續的平地可以形成房間。房間可以跨越棱線。

這里寫圖片描述

平地用0表示,墻用1表示。

輸入

輸入第一行為測試數據組數。 對每組測試數據: 輸入第一行為k,接下來為6*k行,每行k個字符(空格分開,平地用0表示,墻用1表示),分別表示ABDC,BFHD,FEGH,EACG,EFBA,GHDC這6個平面。 每個平面第一個字母是左上角,第二個字母是右上角。

輸出

輸出房間個數和最大的房間大小(包含的平地格子數目)

樣例輸入

1 3 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0

樣例輸出

6 12

分析

遍歷每個未訪問的點查找最大房間,具體實現分析可看此文章: http://blog.csdn.net/pku_zzy/article/details/51648457 在代碼中多加了點日志。

實現

#include <iostream>#include <cstring>using namespace std;int a[6][20][20];int n, area = 0;int d[4][2] = { { -1,0 },{ 1,0 },{ 0,-1 },{ 0,1 } }; //udlrint nextSides[6][4] = { { 4,5,3,1 },{ 4,5,0,2 },{ 4,5,1,3 },{ 4,5,2,0 },{ 2,0,3,1 },{ 2,0,3,1 } }; //按題中面的順序標號。void dfs(int side, int i, int j) { if (a[side][i][j]) return; area++; a[side][i][j] = 1; for (int k = 0; k < 4; k++) { int newI = i + d[k][0]; int newJ = j + d[k][1]; //fix (newI, newJ). int newSide = side; //當前所在面可以左、右擴展搜索。 if (!(side == 4 || side == 5)) { if (newJ < 0) { newSide = nextSides[side][2]; newJ = n - 1; } //搜到左側一面,置縱坐標新的一面的最右端。 if (newJ >= n) { newSide = nextSides[side][3]; newJ = 0; } //搜到右側一面,置縱坐標新的一面的最左端。 } if (!(side == 1 || side == 3)) { if ((newI < 0 || newI >= n) && side == 2) { newJ = n - 1 - newJ; } //面2因為是反面,所以需要翻轉坐標。 if (newI < 0) newSide = nextSides[side][0], (side == 2 || side == 4) ? newI = 0 : newI = n - 1; if (newI >= n) newSide = nextSides[side][1], (side == 0 || side == 5) ? newI = n - 1 : newI = 0; if (newSide != side && newSide == 2) newJ = n - 1 - newJ; } if (!(side == 0 || side == 2)) { switch (side) { case 4: if (newJ < 0) newSide = nextSides[side][2], newJ = newI, newI = 0; if (newJ >= n) newSide = nextSides[side][3], newJ = n - 1 - newI, newI = 0; break; case 5: if (newJ < 0) newSide = nextSides[side][2], newJ = newI, newI = n - 1; if (newJ >= n) newSide = nextSides[side][3], newJ = n - 1 - newI, newI = n - 1; break; case 1: if (newI < 0) newSide = nextSides[side][0], newI = n - 1 - newJ, newJ = n - 1; if (newI >= n) newSide = nextSides[side][1], newI = n - 1 - newJ, newJ = n - 1; break; case 3: if (newI < 0) newSide = nextSides[side][0], newI = newJ, newJ = 0; if (newI >= n) newSide = nextSides[side][1], newI = newJ, newJ = 0; break; } } if (!a[newSide][newI][newJ]) { dfs(newSide, newI, newJ); } }}int main() {// freopen("in.txt", "r", stdin); int cases; cin >> cases; while (cases--) { cin >> n; for (int side = 0; side < 6; side++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> a[side][i][j]; } } } int num = 0, maxArea = 0; for (int side = 0; side < 6; side++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (!a[side][i][j]) { num++; area = 0; dfs(side, i, j); if (area > maxArea) { maxArea = area; } } } } } cout << num << " " << maxArea << endl; } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品中文字| 国产精品久久久久久久久久久新郎| 尤物九九久久国产精品的特点| 欧美亚洲成人xxx| 奇米四色中文综合久久| 久久噜噜噜精品国产亚洲综合| 欧美成人免费全部观看天天性色| 色视频www在线播放国产成人| 亚洲欧美精品中文字幕在线| 久久久久久噜噜噜久久久精品| 国产欧美在线播放| 爽爽爽爽爽爽爽成人免费观看| 91系列在线播放| 日韩av影片在线观看| 成人午夜在线观看| 亚洲成人av中文字幕| 91精品国产91久久久久| 日韩高清电影免费观看完整| 欧美成aaa人片在线观看蜜臀| 精品久久香蕉国产线看观看gif| 中文字幕亚洲一区二区三区五十路| 国产精品第一区| 国产精品男女猛烈高潮激情| 中文字幕在线视频日韩| 91在线观看免费高清| 色yeye香蕉凹凸一区二区av| 日韩av在线网站| 一区二区三区精品99久久| 国内久久久精品| 国产精品久久久久一区二区| 中文字幕在线国产精品| 国产69精品久久久久9| 欧美人在线观看| 欧美日韩xxxxx| 色偷偷91综合久久噜噜| 日本在线观看天堂男亚洲| 亚洲欧美日本精品| 午夜精品www| 亚洲精品动漫100p| 国产精品久久久久久久久久久不卡| 国产专区精品视频| 亚洲视频精品在线| 毛片精品免费在线观看| 亚洲中国色老太| 久久久av免费| 精品一区精品二区| …久久精品99久久香蕉国产| 国产精品美女在线观看| 亚洲视频在线免费观看| 欧美激情一区二区三区高清视频| 在线看国产精品| 欧美日韩美女在线观看| 午夜精品99久久免费| 欧美性xxxx极品hd满灌| 亚洲欧美制服第一页| 日韩视频免费大全中文字幕| 91在线精品视频| 日韩在线观看免费高清完整版| 69视频在线播放| 久久综合色88| 日韩欧美成人网| 久久大大胆人体| 伊人成人开心激情综合网| 久久国产精品99国产精| 精品日韩美女的视频高清| 国产美女91呻吟求| 国产中文字幕亚洲| 久久久精品国产一区二区| 亚洲激情视频在线| 久久综合电影一区| 狠狠做深爱婷婷久久综合一区| 欧美日韩一区二区免费在线观看| 成人有码在线视频| 精品亚洲国产成av人片传媒| 久久综合电影一区| 一区国产精品视频| 亚洲激情成人网| 国产精品久久久久久搜索| 欧洲亚洲在线视频| 欧美一级大片在线免费观看| 91精品国产91久久久久久| 国产suv精品一区二区| 777午夜精品福利在线观看| 亚洲区bt下载| 韩日精品中文字幕| 日韩在线视频观看| 亚洲综合av影视| 亚洲精品日韩久久久| 久久精品成人一区二区三区| 久久久久久av| 欧美性极品少妇精品网站| 久久久99免费视频| 日韩视频永久免费观看| 66m—66摸成人免费视频| 成人夜晚看av| 伊人久久免费视频| 国产精品女主播| 91免费版网站入口| 久久精品精品电影网| 欧美日本国产在线| 亚洲国产第一页| 亚洲精品美女在线| 日韩有码在线电影| 亚洲欧美www| 欧美日韩在线视频一区| 日韩高清免费在线| 日韩欧美中文字幕在线播放| 亚洲欧美中文字幕在线一区| 色先锋久久影院av| 亚洲精品国精品久久99热一| 在线观看国产成人av片| 国产精品视频久久| 亚洲人成伊人成综合网久久久| 中文字幕欧美日韩va免费视频| 欧洲亚洲妇女av| 亚洲欧美日韩久久久久久| 日本视频久久久| 综合欧美国产视频二区| 亚洲天堂男人天堂| 欧美在线观看一区二区三区| 欧美极品欧美精品欧美视频| 亚洲中国色老太| 日韩一区二区av| 欧美视频国产精品| 国外成人在线直播| 欧美与黑人午夜性猛交久久久| 91av视频在线免费观看| 久久久人成影片一区二区三区观看| 91久久精品美女| 国产成人精品一区二区在线| 中文字幕欧美日韩| 国产精品盗摄久久久| 亚洲成人亚洲激情| 91精品国产精品| 日韩av电影在线免费播放| 午夜精品久久久久久久99热浪潮| 精品一区二区三区电影| 成人欧美在线视频| 国产啪精品视频网站| 成人网中文字幕| 色婷婷**av毛片一区| 色综合天天综合网国产成人网| 中文字幕在线成人| 亚洲japanese制服美女| 国产日韩在线观看av| 伊人久久久久久久久久久久久| 欧美高清不卡在线| 亚洲精品国产精品国自产观看浪潮| 久久久欧美一区二区| 日韩精品极品视频免费观看| 欧美日韩国产影院| 欧美性受xxx| 欧美猛少妇色xxxxx| 日韩精品在线视频观看| 久久影视电视剧凤归四时歌| 日韩少妇与小伙激情| 日韩在线视频免费观看| 日韩女优人人人人射在线视频| 国产自产女人91一区在线观看| 亚洲国产第一页| 亚洲成人av在线播放| 国产乱人伦真实精品视频| 亚洲高清久久网| 中文字幕一区二区三区电影|