🖥️ CS/Baekjoon Algorithms

#2839번 설탕 배달 (c++)

한국의 메타몽 2020. 2. 12. 02:14
#include <iostream>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    int w = 0;
    int a,b,i=0;
    cin >> w;
    
    while(a>=0)
    {
        a=(w/5)-i;
        if(a<0)
            break;
        b=(w-(5*a))/3;
        if((5*a+3*b)==w)
        {
            cout << a+b;
            return 0;
        }
        else
            i++;
    }
    
    cout << "-1";
    
    return 0;
}



     1. 5의 배수로 목을 먼저 차지한다.

     2. 나머지에서 3의 배수로 목을 처지 한다. 
     3. 1번 * 5 + 2번 * 3이 w로 값이 떨어지지 않으면 5의 배수를 줄여나가기.

     4. 이 과정에서 5의 배수로 목을 차지하는 값이 음수가 되면, 종료하고 -1을 리턴한다.

         (어떻게해도 값이 딱 떨어지지 못하는 경우에 해당된다.)

 

식을 미리 세워두고 코딩하니 쉬웠던 문제다.

'🖥️ CS > Baekjoon Algorithms' 카테고리의 다른 글

#1193번 분수찾기 (c++)  (0) 2020.02.13
#2292번 벌집 (c++)  (0) 2020.02.12
#1712번 손익분기점 (c++)  (0) 2020.02.12
#1316번 그룹단어체커 (c++)  (0) 2020.02.11
#1065번 한수 (c++)  (0) 2020.02.08