답안 #5642

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
5642 2014-05-09T13:49:55 Z kkk123 토마토 (KOI13_tomato) C++
0 / 16
0 ms 9460 KB
#include <fstream>

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;


        ifstream inputs("input.txt");

        ofstream outputs("output.txt");

    inputs>>M;
    inputs>>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++){

            inputs>>tomato[i][j];
            if (tomato[i][j] == 1)Riped++;
            if (tomato[i][j] == -1)notRiped++;
        }
    }
     inputs.close();
    if (Riped == M * N - notRiped){
             outputs<<0;
              outputs.close();
            return 0;
    }
    if (Riped == 0){
        outputs<<-1;
         outputs.close();
         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){
       outputs<<Date;
         outputs.close();
          return 0;
    }else{
        outputs<<-1;
          outputs.close();
          return 0;
    }

  outputs.close();
    return 0;


}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 0 ms 9460 KB open (syscall #2) was called by the program (disallowed syscall)
2 Halted 0 ms 0 KB -