[BOJ7576] 토마토
Updated:
며칠이 지나면 토마토들이 모두 익는지 구하기
- 창고 각 격자에 토마토 보관
- 익은 토마토는 안 익은 토마토 하루만에 익게 만듬
- 사방으로 퍼트림
- 저절로 익는 경우 x
- 모든 토마토가 익는 최소 일수
입력
- 첫 줄 상자 크기 M, N (가로, 세로) (2 <= M, N <= 1,000)
- 둘째 줄 부터 N줄은 상자에 저장된 토마토정보
- 1은 익은 토마토, 0은 익지 않은 토마토, -1 토마토가 없는 칸
출력
- 토마토가 모두 익는 최소 날짜
- 이미 모두 익어있는 상태면 0 출력
- 모두 익지 못 하는 상황이면 -1 출력
설계
- 큐 클래스 템플릿 <익은 토마토 좌표, 날짜>
- 익은 토마토 큐에 넣기
- 사방 체크 후 안 익은 토마토를 익은 토마토로 변경 후 날짜 카운트 증가
- 바로 모두 익은 상태면 0 출력
- 큐에 값이 없을 때 (인접 토마토 모두 익힌 상태) 안 익은 토마토가 있으면 -1 출력, 아니면 날짜 출력
피드백
- 자꾸 증감에 ‘cnt++’ 방식으로 사용하니, 파라미터로 사용할 경우 증가하기 전 값이 입력되는 문제 생김. 확실하게 ‘cnt + 1’ 또는 ‘++cnt’ 방식 사용
How I solved(click to github)
ref :
BOJ7576
Leave a comment