Coding - Algo/Java
[백준] 16953번:A->B (Java 자바)
jainn
2021. 11. 8. 17:02
728x90
문제
https://www.acmicpc.net/problem/16953
16953번: A → B
첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.
www.acmicpc.net
풀이 및 소스코드
a와 b를 입력받을 때
long으로 하는 것이 중요하다..... ㅠㅠ
입력값 주의깊게 보기..!!!!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static long a,b;
static int minn = Integer.MAX_VALUE;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
make(0, a);
if(minn == Integer.MAX_VALUE)
System.out.println("-1");
else
System.out.println(minn);
}
public static void make(int cnt, long n) {
if(n==b) {
minn = Math.min(minn, cnt+1);
return;
}
if(n>b) {
return;
}
if(n*2<=b)
make(cnt+1, n*2);
if((n*10+1)<=b)
make(cnt+1, n*10+1);
}
}
반응형