Submission #14269

#TimeUsernameProblemLanguageResultExecution timeMemory
14269tjdals1865토마토 (KOI13_tomato)C11
0 / 16
635 ms8912 KiB
#include <stdio.h> #include <stdlib.h> int n,m,i,j,tomato[1001][1001],day=0,tomatocnt=0,rec[1001][1001],empty; void input(){ scanf("%d %d",&m,&n); for(i=0;i<n;i++){ for(j=0;j<m;j++){ scanf("%d",&tomato[i][j]); if(tomato[i][j]==-1) empty++; if(tomato[i][j]==1) tomatocnt++; } } } void process(){ while(day<=(n*m-empty)){ if(tomatocnt==n*m-empty) break; for(i=0;i<n;i++){ for(j=0;j<m;j++){ if(tomato[i][j]==1 && rec[i][j]!=(-1)*day-1){ if(tomato[i-1][j]==0 && i-1>=0){ tomatocnt++; tomato[i-1][j]=1; rec[i][j]=(-1)*day-1; } if(tomato[i][j-1]==0 && j-1>=0){ tomatocnt++; tomato[i][j-1]=1; rec[i][j]=(-1)*day-1; } if(tomato[i+1][j]==0 && i+1<n){ tomatocnt++; tomato[i+1][j]=1; rec[i][j]=(-1)*day-1; } if(tomato[i][j+1]==0 && j+1<m){ tomatocnt++; tomato[i][j+1]=1; rec[i][j]=(-1)*day-1; } } } } day++; } } void output(){ if(day==(n*m-empty+1)) printf("-1"); else printf("%d",day); } int main(void){ input(); process(); output(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...