※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 26949번 문제인 Kylskåpstransport이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/26949
주어진 입력 값의 범위에서 답이 될 수 있는 A와 B의 값의 후보는 0 이상 100 이하임을 관찰하자.
(A,B) 쌍의 경우의 수가 충분히 적으므로, 모든 각 경우를 살펴 짐을 다 옮길 수 있을 때의 비용이 가장 적은 경우를 찾는 것으로 문제를 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int pa, ka, pb, kb, N;
int A, B, cost = 1000000007;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> pa >> ka >> pb >> kb >> N;
for (int a = 0; a < 101; a++) {
int b = 0;
while (a * ka + b * kb < N) b++;
int val = a * pa + b * pb;
if (val < cost) A = a, B = b, cost = val;
}
cout << A << ' ' << B << ' ' << cost;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 18130 // C++] 여름나기 (0) | 2023.01.10 |
---|---|
[BOJ 27110 // C++] 특식 배부 (0) | 2023.01.10 |
[BOJ 18126 // C++] 너구리 구구 (0) | 2023.01.09 |
[BOJ 18124 // C++] 치삼이의 종이 자르기 (0) | 2023.01.09 |
[BOJ 18125 // C++] 고양이 사료 (0) | 2023.01.09 |