#include<cstdio> int dp[1000001], n; int main() { scanf("%d", &n); for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + 1; if (i % 2 == 0 && dp[i]>dp[i / 2] + 1) dp[i] = dp[i / 2] + 1; if (i % 3 == 0 && dp[i]>dp[i / 3] + 1) dp[i] = dp[i / 3] + 1; } printf("%d", dp[n]); return 0; }
1463번: 1로 만들기
https://www.acmicpc.net/problem/1463
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기