BOJ[백준] - 1463 - 1로 만들기

Posted by ceyx
2017. 7. 15. 01:41 Algorithm 문제풀이/BOJ [백준] 문제풀이
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