🔍문제 읽기
7569번: 토마토
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,
www.acmicpc.net
입력 | 출력 |
상자의 가로 크기 M, 세로 크기 N, 쌓아올리는 상자 수 H H개의 N*M 크기의 상자에 담긴 토마토 정보 (1: 익은 토마토, 0: 익지 않은 토마토, -1: 토마토 없음) |
토마토가 모두 익을 때까지 최소 몇일 저장될 때부터 모든 토마토가 익어있으면 0 출력 토마토가 모두 익지 못하는 상황이면 -1 출력 |
💡풀이
사용언어 : cpp
❗️[핵심] 다차원 배열에서의 BFS (너비 우선)
[백준] 7576번: 토마토
🔍 문제 읽기 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는
agseou.tistory.com
7576번의 심화 난이도 문제
3차원 배열 ➡︎ x, y, z 축 모두 고려해야함.
풀이 방법은 7576번: 토마토와 같다.
단지 z축에 대하여 조건이 추가된 것 뿐!
❗️Tuple 다루기
2차원 배열을 다뤘던 문제에서는 pair를 사용했다.
이번에는 3차원 배열을 다루므로 tuple를 사용한다.
튜플의 각 원소를 분해하여 받고 싶을 때, tie를 사용한다.
위 코드에서 cur은 tuple이다.
curX, curY, curZ에는 cur에 저장된 첫번째, 두번째, 세번째 값들이 저장된다.
🧩코드
x,y,z축을 고려하므로 dx,dy,dz 배열을 설정함
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 15649번: N과 M (1) (0) | 2023.09.09 |
---|---|
[백준] 7562번: 나이트의 이동 (0) | 2023.09.08 |
[백준] 10026번: 적록색약 (0) | 2023.09.05 |
[백준] 1012번: 유기농 배추 (0) | 2023.09.05 |
[백준] 1697번: 숨바꼭질 (0) | 2023.09.04 |