BOJ[백준] - 1463 - 1로 만들기
https://www.acmicpc.net/problem/1463
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
#include <cstdio>
#define MIN(a,b) ((a)<(b) ? (a):(b))
int dp[1000001];
int main()
{
int x;
scanf("%d", &x);
dp[1] = 0;
for(int i = 2; i <= x; i++)
{
dp[i] = dp[i - 1];
if(i % 3 == 0)
dp[i] = MIN(dp[i], dp[i / 3]);
if(i % 2 == 0)
dp[i] = MIN(dp[i], dp[i / 2]);
dp[i]++;
}
printf("%d", dp[x]);
return 0;
} |
cs |
'Algorithm 문제풀이 > BOJ [백준] 문제풀이' 카테고리의 다른 글
BOJ[백준] - 1509 - 팰린드롬 분할 (0) | 2017.07.15 |
---|---|
BOJ[백준] - 1495 - 기타리스트 (0) | 2017.07.15 |
BOJ[백준] - 1328 - 고층 빌딩 (0) | 2017.07.15 |
BOJ[백준] - 1126 - 같은탑 (0) | 2017.07.15 |
BOJ[백준] - 6497 - 전력난 (0) | 2017.07.14 |