본문 바로가기

정리해두는거/알고리즘

설탕 배달 (dp)

728x90
반응형
SMALL

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

 

  • n=4일때 고려 안해서 틀렸다

 

#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>

using namespace std;

int main()
{
    int N;
    cin >> N;

    vector<int> dp(N+1);

    dp[0] = 99999;
    dp[1] = 99999;
    dp[2] = 99999;
    dp[3] = 1;
    dp[4] = 99999;
    dp[5] = 1;

    for(int i=6; i <= N; i++)
    {
        dp[i] = min(dp[i-3] + 1, dp[i-5] + 1);
    }

    if(dp[N] > 99999)cout << "-1";
    else if(N==4)cout << "-1";
    else cout << dp[N];
}

 

728x90
반응형
LIST

'정리해두는거 > 알고리즘' 카테고리의 다른 글

토마토  (0) 2024.02.18
미로 탐색  (0) 2024.02.18
설탕 배달 (그냥 구현)  (0) 2024.02.17
마법사 상어와 파이어볼  (0) 2024.02.16
XCode에서 연습하게 되었다  (0) 2024.02.04