https://www.acmicpc.net/problem/25418
25418번: 정수 a를 k로 만들기
7(A), 8(연산 1), 9(연산 1), 18(연산 2), 19(연산 1), 38(연산 2), 76(연산 2), 77(연산 1)이 최소 연산이므로 정답은 7이다.
www.acmicpc.net
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int[] dp = new int[K + 1];
for (int i = A + 1; i <= K; i++) {
dp[i] = 1000000;
}
for (int i = A; i < K; i++) {
dp[i + 1] = Math.min(dp[i + 1], dp[i] + 1);
if (i * 2 <= K) dp[i * 2] = Math.min(dp[i * 2], dp[i] + 1);
}
System.out.print(dp[K]);
}
}
'OJ' 카테고리의 다른 글
[BOJ] 14909 양수 개수 세기 (JAVA) (0) | 2023.05.13 |
---|---|
[BOJ] 27930 당신은 운명을 믿나요? (JAVA) (0) | 2023.05.12 |
[BOJ] 2711 오타맨 고창영 (JAVA) (0) | 2023.05.10 |
[BOJ] 18404 현명한 나이트 (JAVA) (0) | 2023.05.09 |
[BOJ] 15894 수학은 체육과목 입니다 (JAVA) (0) | 2023.05.08 |