문제출처 : https://www.acmicpc.net/problem/7576
1. 문제요약
- 상자에 익은토마토(1), 안익은 토마토(0), 빈칸(-1) 이 있음
- 하루가 지나면 익은 토마토의 상하좌우에 있는 안익은 토마토는 익게됨
- 상자에 있는 토마토가 전부 익을 때 까지 걸리는 일 수는?
- 토마토가 전부 익지 않으면 -1
익으면 익을때 까지 걸린 일 수를 출력
2. 접근방법
- bfs
- 익은 토마토를 큐에 넣고
인접(상하좌우) 에 있는 익지 않은 토마토를 다시 인큐
큐가 빌때 까지 bfs
3. 시간복잡도
- O(n)
4. 회고
- 예전에 섬이 확장할때 마주치는 최소 일수 였나 그 문제랑 비슷하군
- tie를 써서 (row, col, day) 를 저장한 후에 day를 출력해도 되지만
난 make_pair만 쓰므로 size를 넣어서 day를 계산하게 만듬
소스코드
[출처 : BOJ, 문제에 대한 모든 권리는 BOJ(acmicpc.net, startlink)에 있음]
'먹고살려면 > boj' 카테고리의 다른 글
BOJ 2146 다리 만들기 (0) | 2018.02.11 |
---|---|
BOJ 2178 미로 탐색 (0) | 2018.02.11 |
BOJ 4963 섬의 개수 (0) | 2018.02.08 |
BOJ 14890 경사로 (0) | 2018.02.07 |
BOJ 9466 텀 프로젝트 (0) | 2018.02.06 |