-
https://www.acmicpc.net/problem/7576
7576번: 토마토
첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%207576
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 토마토와 벽이 있는 정보인 arr가 주어졌을 때
토마토가 며칠 만에 다 익는지 계산하는 문제다.
해당 문제는 BFS를 이용하였고 처음에 map에 데이터를 넣어주면서
토마토 위치 좌표를 모두 q에 삽입해 준다.
이후 큐에서는 삽입된 좌표를 모두 방문한 것으로 처리해 주고, map에 1을 넣어둔다. (나중 날짜 계산에 사용)
q가 빌 때까지 반복하면서 BFS를 진행해 주고 방문하게 되면
날짜를 위해 이전 값에서 +1 해서 map를 저장해 주면 된다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1074 Z JAVA (0) 2021.11.08 Baekjoon 1992 쿼드 트리 JAVA (0) 2021.11.08 Baekjoon 2839 설탕 배달 JAVA (0) 2021.11.08 Baekjoon 11650 좌표 정렬하기 JAVA (0) 2021.11.07 Baekjoon 1931 회의실 배정 JAVA (0) 2021.11.07 댓글