题目链接:
题目大意:
有一个k*n*m的水盘,现在要在(1,x,y)这个位置开始注水,但是有一些地方会有阻碍物,无法注水。求最后有多少个位置是有水的(根据我们的常识,这种情况下,水也是可以往上走的)。
题目分析:
一个k*n*m的三维立方体,问有多少个方块是与(1,x,y)联通的。
题目做法:
每次从原点向六个方向走,不停扩散,标记该位置
那么这题就是一个简单的三维连通块问题了
这题就可以有DFS和BFS两种搜索方式(只要能做就行)
#AC Code
大佬代码1:
//https://codeforces.com/contest/60/submission/16967020
//From djq_cpp
#include<cstdio>
using namespace std;
char mp[12][12][12];
int a,b,c;
int dx[6]={-1,1,0,0,0,0};//方向数组
int dy[6]={0,0,-1,1,0,0};
int dz[6]={0,0,0,0,-1,1};
bool ok(int x,int y,int z){//检查
return x>=0&&y>=0&