-
백준 7576, 7569 - 토마토 (Python)BOJ PS/Python 2022. 12. 8. 15:16
https://acmicpc.net/problem/7576
7576번: 토마토
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토
www.acmicpc.net
https://acmicpc.net/problem/7569
7569번: 토마토
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,
www.acmicpc.net
둘 다 class 3의 standard 문제이고, 모든 것이 동일하나 차이점은 2차원이냐 3차원이냐이다.
백준 7576
2차원이니 방향도 두 개, graph도 2차원으로 간단하게 받아준다.
1, 즉 익은 토마토의 리스트를 저장한다. 그 후 bfs를 돌리고 0이 있다면 다 익지 않았으니 -1을 출력한다.
그렇지 않으면 최댓값, 즉 익는 데 걸린 가장 큰 날을 갱신한다.
그 후 출력.
백준 7569
조금 실력이 늘고 나서 푼 문제여서 풀이 방법이 좀 깨끗해졌다.
3차원이니 방향 세 개를 저장한다.
1로 익은 토마토를 찾아둔다. 그 후 돌면서 bfs를 하고, 마찬가지로 안 익은 토마토가 있으면 0을 출력한다.
다만 간과했던 점은 바로 '토마토가 하나 이상 있다'는 조건.
익은 토마토만 있다는 말은 없는데 혼자 오해했다. 그래서 tomato_list에 아무 것도 없으면 unbound local error가 떴다.
'BOJ PS > Python' 카테고리의 다른 글
백준 9465 - 스티커 (Python) (0) 2022.12.08 백준 15649 - N과 M (1) (Python) (0) 2022.12.08 백준 14500 - 테트로미노 (Python) (0) 2022.12.08 백준 16236 - 아기 상어 (Python) (0) 2022.12.08 백준 9019 - DSLR (Python) (0) 2022.12.08