반응형
DP문제입니다.
더 작은 문제 또한 기존의 문제와 푸는 법이 같기 때문에 점화식을 세워서 풉니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <algorithm> using namespace std; int D[1000001]; int main(void) { int N; cin >> N; for (int i = 2; i <= N; i++) { D[i] = D[i - 1] + 1; if (i % 2 == 0) D[i] = min(D[i], D[i / 2] + 1); if (i % 3 == 0) D[i] = min(D[i], D[i / 3] + 1); } cout << D[N] << '\n'; } | cs |
'Algorithm' 카테고리의 다른 글
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1699번:제곱수의 합 답 (0) | 2017.01.27 |
---|---|
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11052번:붕어빵 판매하기 답 (0) | 2017.01.27 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2965번:캥거루 세마리 답 (1) | 2017.01.14 |
(C++) - 백준(BOJ) 11655번 : ROT13 (0) | 2016.12.18 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 10162번:전자레인지 답 (0) | 2016.12.18 |