題目描述
天文學家doctor博士發明了一種太空分割槽方法,在這個方法中,宇宙裡亮度相近的區域被劃為同乙個星區。空間中相鄰兩區域若亮度差不大於給定整數m,則這兩區域屬於同一星區。現給你乙個空間的三維座標圖,每個座標整點表示乙個區域,其值表示其亮度,而其上、下、左、右、前、後六個區域被認為是與其相鄰的。請你計算一下該空間內的星區數量。
輸入第一行三個正整數x、y、z(x、y、z<=50),表示空間的長寬高。
第二行乙個整數m。
接下來為一行,x*y*z個0~255的整數,按照空間座標大小的順序由小到大依次給出每個區域的亮度。
說明:對於空間兩點p1(x1,y1,z1)和p2(x2,y2,z2),p1輸出
乙個整數,空間中的星區數量。
#include #define ll long longusing
namespace
std;
int num[55][55][55
];bool mp[55][55][55
];int
d;int
n,m,h;
int dx=;
int dy=;
int dz=;
bool check(int x,int y,int
z)void dfs(int x,int y,int z,int
p) }
}int
main()}}
int ent=0
;
for(int i=1;i<=n;++i)}}
}printf(
"%d\n
",ent);
return0;
}
DFS求聯通塊
題目 輸入乙個m行n列的字元矩陣,只要有兩個 相鄰就能組成乙個聯通塊,如下面的字元矩陣有2個聯通塊分析 將字元矩陣看作乙個圖,用dfs對圖中的字元遍歷,從每個 出發,遍歷 周圍的字元。每次訪問時給該位置打上塊標誌,表示已訪問,從而避免多次訪問同乙個位置。include include define ...
dfs之找連通塊
尋找連通塊 題目傳送門 題目的大致意思就是給你一張地圖,找到規定的字元所組成的連通塊的數量。sample input 1 1 3 5 1 8 5 5 0 0 sample output01 22這個題,我們找由 組成的連通塊的數量。這裡的連通塊的定義為以某點為中心,向周圍八個點擴散的都是和中心點連通...
學習記錄 DFS的聯通塊與計數 剪枝
1 include 2 using namespace std 3const int maxn 1000 4 intn,m 5 地圖尺寸 6int maap maxn 10 maxn 10 7 查詢零一地圖中的1聯通塊個數 8bool vis maxn 10 maxn 10 9 int direx ...