문제 : https://www.acmicpc.net/problem/16283
[알고리즘풀이]
단순 구현 문제로, N의 최대 크기가 1000이므로 전체 경우를 다 순회하며 O(N)으로 풀면 된다.
양이 k 마리, 염소가 n - k라고 하고 k를 1부터 n - 1까지 순회하며 가능한 경우를 찾는다.
#include<iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int a, b, n, w;
cin >> a >> b >> n >> w;
int count = 0, index = 0;
for (int i = 1; i < n; i++) {
if ((a * i + b * (n - i)) == w) {
count++;
index = i;
}
}
if (count == 0 || count > 1)
cout << -1;
else
cout << index << ' ' << n - index;
return 0;
}
'Problem Solving > ICPC' 카테고리의 다른 글
[ICPC][BOJ] 16287 - Parcel (0) | 2019.09.28 |
---|---|
[ICPC][BOJ] 16282 - Black Chain (0) | 2019.09.28 |
[ICPC][BOJ] 13328 - Message Passing (0) | 2019.09.23 |
[ICPC][BOJ] 13333 - 'Q-Index' (0) | 2019.09.23 |
[ICPC][BOJ] 13335 - Trucks (0) | 2019.09.23 |