#include <stdio.h>
using namespace std;
int tomato[1000][1000];
int Temp_tomato[1000][1000];
int main()
{
int M = 2,N = 2;
int Riped = 0;
int notRiped = 0;
FILE *inputs = fopen("input.txt","r");
FILE *outputs = fopen("output.txt","w");
fscanf(inputs,"%d %d",&M,&N);
for (int i = 0 ; i < N; i++){
for (int j = 0 ; j < M; j++){
tomato[i][j] = 0;
Temp_tomato[i][j] = 0;
}
}
for (int i = 0 ; i < N; i++){
for (int j = 0 ; j < M; j++){
fscanf(inputs,"%d",&tomato[i][j]);
if (tomato[i][j] == 1)Riped++;
if (tomato[i][j] == -1)notRiped++;
}
}
fclose(inputs);
if (Riped == M * N - notRiped){
fprintf(outputs,"%d",0);
fclose(outputs);
return 0;
}
if (Riped == 0){
fprintf(outputs,"%d",-1);
fclose(outputs);
return 0;
}
int Delta = 0;
int Date = -1;
while (Riped != Delta){
Delta = Riped;
Date++;
for (int i = 0; i < N; i++){
for (int j = 0 ;j < M; j++){
if (tomato[i][j] == 1){
if (i-1 >= 0)if(tomato[i-1][j] == 0)Temp_tomato[i-1][j] = 1;
if (i+1 < N )if( tomato[i+1][j] == 0)Temp_tomato[i+1][j] = 1;
if (j-1 >= 0 )if( tomato[i][j-1] == 0)Temp_tomato[i][j-1] = 1;
if (j+1 < M )if( tomato[i][j+1] == 0)Temp_tomato[i][j+1] = 1;
}
}
}
for (int i = 0; i < N; i++){
for (int j = 0 ;j < M; j++){
if (Temp_tomato[i][j] == 1){
tomato[i][j] = 1;
Riped++;
Temp_tomato[i][j] = 0;
}
}
}
}
if (Riped == M * N - notRiped){
fprintf(outputs,"%d",Date);
fclose(outputs);
return 0;
}else{
fprintf(outputs,"%d",-1);
fclose(outputs);
return 0;
}
fclose(outputs);
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
8892 KB |
open (syscall #2) was called by the program (disallowed syscall) |
2 |
Halted |
0 ms |
0 KB |
- |