답안 #1175

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1175 2013-06-28T14:39:57 Z kriii 토마토 (3차원) (KOI13_tomato3D) C++
6 / 20
201 ms 12604 KB
#include <stdio.h>

int U[1000000],V[100][100][100],D[100][100][100];
int M,N,H,A;
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};

int trans(int x, int y, int z){return z * M * N + y + x * N;}

int main()
{
	int i,j,k,x,y,z,px,py,pz;
	int head = -1, tail = -1;

	scanf ("%d %d %d",&M,&N,&H);
	for (k=0;k<H;k++) for (i=0;i<M;i++) for (j=0;j<N;j++){
		scanf ("%d",&V[i][j][k]);
		if (V[i][j][k] == 1) U[++head] = trans(i,j,k);
	}

	while (tail < head){
		++tail; y = U[tail] % N; x = (U[tail] / N) % M; z = U[tail] / (N * M);
		if (A < D[x][y][z])
			A = D[x][y][z];

		for (i=0;i<6;i++){
			px = x + dx[i]; py = y + dy[i]; pz = z + dz[i];
			if (px < 0 || px >= M || py < 0 || py >= N || pz < 0 || pz >= H) continue;
			if (V[px][py][pz] == 0){
				V[px][py][pz] = 1;
				D[px][py][pz] = D[x][y][z] + 1;
				U[++head] = trans(px,py,pz);
			}
		}
	}

	for (i=0;i<M;i++) for (j=0;j<N;j++) for (k=0;k<H;k++) if (V[i][j][k] == 0) A = -1;
	printf ("%d",A);

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 12604 KB Output is correct
2 Correct 0 ms 12604 KB Output is correct
3 Correct 2 ms 12604 KB Output is correct
4 Correct 0 ms 12604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 22 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 12604 KB Output is correct
2 Correct 28 ms 12604 KB Output is correct
3 Correct 45 ms 12604 KB Output is correct
4 Correct 12 ms 12604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 105 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 102 ms 12604 KB Output isn't correct
2 Halted 0 ms 0 KB -
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 183 ms 12604 KB Output is correct
2 Correct 161 ms 12604 KB Output is correct
3 Correct 169 ms 12604 KB Output is correct
4 Correct 125 ms 12604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 201 ms 12604 KB Output is correct
2 Incorrect 66 ms 12604 KB Output isn't correct
3 Halted 0 ms 0 KB -
4 Halted 0 ms 0 KB -