반응형
https://www.acmicpc.net/problem/1697
import java.io.*;
import java.util.*;
public class Main {
static int N,K;
static int[] visit = new int[100001];
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());
if(N==K) {
System.out.println(0);
}else {
bfs(N);
}
br.close();
}// main()
static void bfs(int num) {
Queue<Integer> qu = new LinkedList<>();
qu.add(num);
visit[num]=1;
while(!qu.isEmpty()) {
int tmp=qu.poll();
for(int i=0;i<3;i++) {
int next;
if(i==0) {
next=tmp+1;
}else if(i==1) {
next=tmp-1;
}else {
next=tmp*2;
}
if(next==K) {
System.out.println(visit[tmp]);
return;
}
if (next >= 0 && next < visit.length && visit[next] == 0) {
qu.add(next);
visit[next] = visit[tmp] + 1;
}
}
}
}
}// class Main
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2156 : 포도주 시식 (2) | 2023.02.03 |
---|---|
[Java] 백준 1932 : 정수 삼각형 (0) | 2023.02.03 |
[Java] 백준 1931 : 회의실 배정 (0) | 2023.02.02 |
[Java] 백준 1149 : RGB거리 (0) | 2023.02.01 |
백준 2667 : 단지번호붙이기 _자바 Java (0) | 2023.02.01 |
댓글