-
https://www.acmicpc.net/problem/14940
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%2014940
해당 문제는 map가 주어졌을 때 목표지점부터 갈 수 있는 곳에 대해서 거리를 구해서 출력하는 문제다.
조건은 2는 목표지점 1은 갈 수 있는 곳, 0 은 갈 수 없는 곳이며
출력에서는 거리를 출력하는데 만약 갈 수 없는 곳은 기존 그대로 0을 출력하고, 갈 수는 있는데
갈 수 없는 곳에 의해 막힌 부분은 -1을 출력해주어야 한다.
해당 문제는 간단하게 bfs로 해결 가능했던 문제다.
입력 처리를 하고 먼저 목표지점의 좌표를 저장한 뒤 목표지점을 기준으로 bfs를 돌려주고,
이때 거리를 map에 갱신하는 방식으로 진행하였고,
갈 수 있지만 막혀서 -1을 출력해야 하는 부분에 대해서는 방문 체크를 통해서
최종 출력 부분에서 방문은 안 했고 map가 1인 부분에 대해서는 -1을 출력하는 방식으로 문제를 해결했다.
아래는 출력에 대한 이해를 돕고자 간단한 테스트 케이스를 추가하였다.
input
3 3
2 1 1
1 0 0
1 0 1output
0 1 2
1 0 0
2 0 -1728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 4396 지뢰 찾기 JAVA (0) 2022.01.08 Baekjoon 5427 불 JAVA (0) 2022.01.06 Baekjoon 1956 운동 JAVa (0) 2022.01.04 Baekjoon 15661 링크와 스타트 JAVA (0) 2022.01.03 Baekjoon 1535 안녕 JAVA (0) 2021.12.31 댓글