练习floodfill很好的题。第一次考虑从内部有模块的点开始floodfill,发现无法识别内部空仓和外部空仓。反向思考,从外部空仓进入模块,得解。
#include <cstdio>
#include <string>
int b[60][60][60];
bool used[216000];
int q[216000];
int N, M, K, L;
int dir[6][3] =
{
{ 1, 0, 0 }, { -1, 0, 0 }, { 0, 1, 0 }, { 0, -1, 0 }, { 0, 0, 1 }, { 0, 0, -1 }
};
int getx ( int n, int m, int k )
{
return ( k * M + m ) * N + n;
}
void setx ( int x, int &n, int &m, int &k )
{
k = x / ( N ......
阅读全文