문제풀이/BFS(3)
-
[백준/JAVA] 16928번: 뱀과 사다리 게임(BFS)
문제 https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 풀이 사다리가 있는 위치라면 사다리를 타고 올라갈 위치가 존재하고, 뱀이 있는 위치라면 뱀을 타고 내려갈 위치가 존재한다. 사다리와 뱀이 있는 위치와, 이동할 위치를 해시맵으로 저장한다. ladder = new HashMap(); //사다리와 이동 위치 저장할 해시맵 snake = new HashMap(); //뱀과 이동 위치 저장할 해시맵 fo..
2023.01.19 -
[백준/JAVA] 13913번 : 숨바꼭질4(BFS)
문제 https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 숨바꼭질(1697번) 문제와 유사하다. 다른 점이 있다면, 숨바꼭질4에서는 둘째 줄에 경로도 출력해야 한다는 점이다. 이 경우도 BFS로 풀 수 있다. 숨바꼭질 문제에 대한 BFS 풀이를 아래 글에서 확인해보고 오자. 2023.01.13 - [문제풀이/BFS] - [백준/JAVA] 1697번 : 숨바꼭질(BFS) [백준/JAVA] 1697번 : 숨바꼭질..
2023.01.19 -
[백준/JAVA] 1697번 : 숨바꼭질(BFS)
문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 BFS 문제이다. 먼저, ①nk일 경우, ③n=k일 경우의 세 가지 경우로 나누어 생각했다. 더보기 ② n>k일 경우, 수빈이는 한 칸씩 뒤로 이동만을 반복하여 동생의 위치(k)에 도달할 수 있다. 즉, 이 경우 가장 빠른 시간은 오직 'n-k'뿐이다. ③ n = k일 경우도 ②의 경우와 마찬가지다. n-k = 0의 시간만이 출력된다. ∴ 두 가지 경우로 크게..
2023.01.13