본문 바로가기

카테고리 없음

[백준 1463] 1로 만들기

1.입력 파트

int dp[100001];

int n;

scanf("%d", &n);

dp[1] = 0;

dp[2] = 1;

dp[3] = 1;

2. 발견적 추론 DP 파트

void DP(n){

if(dp[n]!=0) return;

if(n%2 == 0)

dp[n] = MIN(dp[n/2]+1, dp[n-1]+1);

if(n%3 == 0)

dp[n] = MIN(dp[n/3]+1, dp[n-1]+1);

dp[n] = dp[n-1]+1;

}

3. 실행 파트

for(int i=2; i<n; i++){

}