※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 26949번 문제인 Kylskåpstransport이다.
문제는 아래 링크를 확인하자.

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

 

26949번: Kylskåpstransport

Indata består av de fem heltalen $p_a$, $k_a$, $p_b$, $k_b$ och $n$ på en rad, separerade med ett blanksteg.

www.acmicpc.net

주어진 입력 값의 범위에서 답이 될 수 있는 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

+ Recent posts