# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
98901 | 2019-02-27T09:42:54 Z | Dullness | 토마토 (3차원) (KOI13_tomato3D) | C | 89 ms | 6388 KB |
#include <stdio.h> #define MAX 100*100*100+10 int board[101][101][101]; int x1, y1, x2, y2, N, M, L; int min = 99999; typedef struct tomato{ int x; int y; int z; int day; }TOMATO; TOMATO queue[MAX]; int head, tail; int dx[4] = { 1, 0, -1, 0, 0, 0 }; int dy[4] = { 0, -1, 0, 1, 0, 0 }; int dz[8] = { 0, 0, 0, 0, 1, -1 }; void enqueue(int x, int y, int z, int day); TOMATO dequeue(); TOMATO popped; TOMATO Next; void main(){ int x, y, z, cnt, i, j, k, sum; sum = 0; cnt = 0; scanf("%d %d %d", &M, &N, &L); for (k = 0; k < L; k++){ for (i = 0; i < N; i++){ for (j = 0; j < M; j++){ scanf(" %d", &board[k + 1][i + 1][j + 1]); if (board[k + 1][i + 1][j + 1] == 1) enqueue(i + 1, j + 1, k +1 , 0); } } } while (head != tail){ popped = dequeue(); x = popped.x; y = popped.y; cnt = popped.z; for (i = 0; i < 6; i++){ if (!(x + dx[i] > 0 && x + dx[i] < (N + 1))) continue; if (!(y + dy[i] > 0 && y + dy[i] < (M + 1))) continue; if (!(z + dz[i] > 0 && z + dz[i] < (L + M))) continue; if (board[z+dz[i]][x + dx[i]][y + dy[i]] == 1) continue; if (board[z + dz[i]][x + dx[i]][y + dy[i]] == -1) continue; if (board[z + dz[i]][x + dx[i]][y + dy[i]] == 0){ enqueue(x + dx[i], y + dy[i], z+ dz[i], cnt + 1); } } } min = cnt; for (k = 0; k < L; k++){ for (i = 0; i < N; i++){ for (j = 0; j < M; j++){ if (board[k + i][i + 1][j + 1] == 0){ min = -1; break; } } } } printf("%d", min); } void enqueue(int x, int y, int z, int day){ tail++; tail %= MAX; queue[tail].x = x; queue[tail].y = y; queue[tail].z = z; queue[tail].day = day; board[z][x][y] = 1; return; } TOMATO dequeue(){ head++; head %= MAX; TOMATO out; out.x = queue[head].x; out.y = queue[head].y; out.z = queue[head].z; return out; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 4 ms | 940 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 512 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 384 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 11 ms | 1280 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 8 ms | 768 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 21 ms | 2304 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 48 ms | 4732 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 60 ms | 4428 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 78 ms | 6112 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 89 ms | 6388 KB | Execution failed because the return code was nonzero |
2 | Halted | 0 ms | 0 KB | - |