https://www.acmicpc.net/problem/1463
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long int n,a[1000001]={0,},i;
scanf("%lld",&n);
for(i=2;i<=n;i++)
{
a[i]=a[i-1]+1;
if(i%2==0 && a[i] > a[i/2] + 1)
a[i] = a[i/2] + 1;
if(i%3==0 && a[i] > a[i/3] + 1)
a[i] = a[i/3] + 1;
}
/*
for(i=1; i<=n; i++)
printf("%lld : %lld \n",i, a[i]);
*/
printf("%d", a[n]);
return 0;
}
'정보올림피아드-KOI > BOJ' 카테고리의 다른 글
10816번 숫자 카드 2 (0) | 2020.02.16 |
---|---|
백준 - 숫자카드 : 10815번 (0) | 2020.02.10 |
백준 - 차이를 최대로 : 10819번 (0) | 2020.02.09 |
백준-가장 긴 증가하는 부분 수열 4 : 14002번 (LIS) (0) | 2020.02.08 |
백준-가장 긴 증가하는 부분 수열 : 11053번 ( LIS) (0) | 2020.02.08 |