-
[Algorithm] 백준 알고리즘 1697 (숨바꼭질)Algorithm 2020. 3. 28. 12:29
java 코드
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 HideSeek { static int N,K; static boolean visited[]; 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()); visited = new boolean[100001]; solve(); } static void solve() { Queue <int[]> q = new LinkedList<>(); q.add(new int[] {N, 0}); visited[N]=true; while(!q.isEmpty()) { int location[] = q.poll(); int x = location[0]; int time = location[1]; if(x==K) { System.out.println(time); } if(x-1>=0&&!visited[x-1]) { q.add(new int[] {x-1, time+1}); visited[x-1]=true; } if(x+1<=100000&&!visited[x+1]) { q.add(new int[] {x+1, time+1}); visited[x+1]=true; } if(2*x<=100000&&!visited[2*x]) { q.add(new int[] {2*x, time+1}); visited[2*x]=true; } } } }
'Algorithm' 카테고리의 다른 글
[Algorithm] 백준 알고리즘 11403 (경로 찾기) (0) 2020.03.28 [Algorithm] 백준 알고리즘 1012 (유기농 배추) (0) 2020.03.28 [Algorithm] 백준 알고리즘 2667 (단지 번호 붙이기) (0) 2020.03.22 [Algorithm] 백준 알고리즘 1260 (DFS와 BFS) (0) 2020.03.15 Git hub 시작하기 / eclipse연결하기 (0) 2019.10.09