티스토리 뷰
출저 : https://www.acmicpc.net/problem/1697
"단순 BFS"
수빈이가 이동할 수 있는 방법을 길이 3인 배열로 만들어 처리했음.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int N,K; static int INF = 100001; static int[] visited = new int[INF]; static Queue<Integer> q = new LinkedList<>(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); K = Integer.parseInt(st.nextToken()); q.add(N); while(!q.isEmpty()) { int cur = q.poll(); if(cur == K) { break ; } int[] nexts = { cur+1, cur-1, 2*cur}; for (int i = 0; i < 3; i++) { int next = nexts[i]; if(next < 0 || INF <= next || visited[next] != 0) continue; visited[next] = visited[cur]+1; q.add(next); } } System.out.println(visited[K]); } } | cs |
'Study > 알고리즘 문제풀이' 카테고리의 다른 글
백준 6987. 월드컵 :: 돼지개발자 (0) | 2018.12.03 |
---|---|
백준 7576. 토마토 :: 돼지개발자 (0) | 2018.12.03 |
백준 4179. 불! :: 돼지개발자 (0) | 2018.12.03 |
백준 2667. 단지번호붙이기 :: 돼지개발자 (0) | 2018.12.03 |
백준 6603. 로또 :: 돼지개발자 (0) | 2018.12.02 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday