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

 

이번에 볼 문제는 백준 24807번 문제인 Math Homework이다.
문제는 아래 링크를 확인하자.

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

 

24807번: Math Homework

Input consists of a single line with $4$ integers: $b$, $d$, $c$, and $l$, with $b$, $d$, and $c$ representing the numbers of legs the first, second, and third type of animal has. You are given that $0 < b, c, d \le 100$ because some farm animals in these

www.acmicpc.net

문제의 답을 (i, j, k)로 나타내면 i, j, k는 항상 0 이상 250 이하일 수밖에 없다는 점을 관찰할 수 있다.

 

따라서, 사전순으로 가능한 모든 (i, j, k)의 쌍을 모두 확인하고, 답이 된다면 해당 순서쌍을 출력하는 것으로 문제를 해결할 수 있다.

 

만약 답이 되는 순서쌍이 존재하지 않는다면 "impossible"을 출력하는 것을 잊지 말자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	bool chk = 1;
	int b, c, d, l; cin >> b >> c >> d >> l;
	for (int i = 0; i < 251; i++) {
		for (int j = 0; j < 251; j++) {
			for (int k = 0; k < 251; k++) {
				if (i * b + j * c + k * d == l) {
					cout << i << ' ' << j << ' ' << k << '\n';
					chk = 0;
				}
			}
		}
	}

	if (chk) cout << "impossible";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 20867 // C++] Rulltrappa  (0) 2022.05.08
[BOJ 14940 // C++] 쉬운 최단거리  (0) 2022.05.08
[BOJ 6032 // C++] Toy Shopping  (0) 2022.05.08
[BOJ 24805 // C++] Climbing Worm  (0) 2022.05.08
[BOJ 6504 // C++] 킬로미터를 마일로  (0) 2022.05.08

+ Recent posts