반응형
🅰 백준 5014. 스타트링크
✏️ 문제 풀이
✏️ 소스코드
package bruteforce;
import java.util.*;
import java.io.*;
public class Main_골드5_5014_손은성 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
Queue<int[]> q = new LinkedList<int[]>();
boolean visited[];
boolean ans = false;
int F = Integer.parseInt(st.nextToken()); // 건물 전체 층
visited = new boolean[F+1]; // 방문체크 하기 위함
int S = Integer.parseInt(st.nextToken()); // 강호의 현재 층
int G = Integer.parseInt(st.nextToken()); // 스타트 링크 위치 층
int U = Integer.parseInt(st.nextToken()); // 위로 가는 버튼
int D = Integer.parseInt(st.nextToken()); // 아래로 가는 버튼
q.add(new int[] { S, 0 }); // 강호의 현재 층 넣기
while (!q.isEmpty()) {
int now = q.peek()[0];
int depth = q.poll()[1];
// 스타트링크 층에 도착했다면
if(now == G) {
System.out.println(depth);
ans = true;
break;
}
// 현재 층에 방문 했다면
if (visited[now])
continue;
visited[now] = true; // 방문체크
// 현재층에서 내려갈 곳이 있다면
if (now - D >= 1) {
q.offer(new int[] { now - D, depth + 1 });
}
// 현재층에서올라갈 곳이 있다면
if (now + U <= F) {
q.offer(new int[] { now + U, depth + 1 });
}
}
if(!ans)
System.out.println("use the stairs");
}
}
✅ 후기
반응형
'백준 > 완전탐색' 카테고리의 다른 글
백준 1759. 암호 만들기 (0) | 2021.08.26 |
---|---|
백준 9663. N-Queen (0) | 2021.08.26 |
백준 2251. 물통 (0) | 2021.08.26 |
백준 1697. 숨바꼭질 (0) | 2021.08.26 |
백준 1182. 부분수열의 합 (0) | 2021.08.26 |
댓글