답안 #5641

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
5641 2014-05-09T13:36:16 Z kkk123 토마토 (KOI13_tomato) C++
0 / 16
0 ms 8892 KB
#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 -