[Python]Baekjoon 7569번: 3차원 토마토(BFS)
1. 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net N, M 개의 칸에 토마토가 들어있고 이 상자를 H층만큼 쌓아 올린다. 0은 익지 않은 토마토, 1은 익은 토마토, -1은 빈칸을 의미한다. 익은 토마토와 인접해 있는(상, 하, 좌, 우, 위, 아래) 토마토는 하루가 지나면 익는다. 토마토가 모두 익는데 며칠이 걸릴까? 2. 풀이 최소 일수를 구하는 문제는 BFS를 이용한다. 7576번 토마토 문제와 동일한 로직..
2024. 3. 13.
[Python]Baekjoon 7576번: 토마토(BFS)
1. 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net N, M 개의 칸에 토마토가 들어있다. 0은 익지 않은 토마토, 1은 익은 토마토, -1은 빈칸을 의미한다. 익은 토마토와 인접해 있는(상, 하, 좌, 우) 토마토는 하루가 지나면 익는다. 토마토가 모두 익는데 며칠이 걸릴까? 2. 풀이 지금까지 익숙하게 풀어왔던 BFS에 조금 더 생각을 해야 하는 문제였다. 가장 핵심적인 부분은 BFS의 시작 지점이 여러 개인데 이를 ..
2024. 3. 11.