홍시홍의 프로그래밍

[백준 2839] 설탕 배달 본문

알고리즘 문제풀이/백준

[백준 2839] 설탕 배달

홍시홍 2020. 3. 20. 00:16

요구사항

1. 최소의 봉지 개 수로 설탕을 이동 시켜라

 

풀이

1. 주어지는 숫자 n을 5*i와 3*j의 조합으로 만들어 낸다

2. i+j가 최소인게 답이다

 

#include <iostream>
#include <queue>
#include <functional>
#include <algorithm>
#include <vector>
using namespace std;

priority_queue<int, vector<int>, greater<> > q;
int n, m;
vector<int> v;
int main() {
	scanf("%d", &n);
	int max5 = 987654321;
	int max3 = 0;
	int flag = 0;
	int input = n;
	int Box = 0;
	for (int i = 0; i <= 1000; i++) {
		for (int j = 0; j <= 10; j++) {
			int num = (5 * i) + (3 * j);
			if (num > n)
				break;
			else if (num == n) {
				//cout << "A" << endl;
				flag = 1;
				if (i + j <= max5) {
					max5 = i + j;
				//	cout << "i " << i << " " << j << endl;
				}
			}
		}
	}
	if (flag == 1) {
		cout << max5 << endl;
	}
	else {
		cout << -1 << endl;
	}
	
}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 2870] 수학숙제  (0) 2020.03.20
[백준 1059] 수2  (0) 2020.03.20
[백준 10871] X보다 작은 수  (0) 2020.03.19
[백준 9498] 시험 성적  (0) 2020.03.19
[백준 2075] N번째 큰 수  (0) 2020.03.19
Comments