PS

백준 16283. Farm

tose33 2021. 7. 24. 15:23

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

 

16283번: Farm

입력은 표준입력을 사용한다. 첫 번째 줄에 네 정수 a, b, n, w가 한 줄에 주어진다. 1 ≤ a ≤ 1,000, 1 ≤ b ≤ 1,000, 2 ≤ n ≤ 1,000, 2 ≤ w ≤ 1,000,000이다.

www.acmicpc.net

 

염소 수를 1부터 n-1까지 늘린다.

그에 따른 양의 수는 n에서 염소수를 뺀것이다.

 

염소와 양이 먹는 사료의 양을 합해서 w와 같으면 답이다.

 

 

#include <iostream>
using namespace std;

// 양 한마리가 먹는 사료 a,
// 염소 한마리가 먹는 사료 b,
// 전체마리수 n,
// 전체소비 사료양 w
int a, b, n, w;

int s_num, g_num;
// 답이 두개 이상이면 -1을 출력해야함
int cnt = 0;

int main()
{
    cin >> a >> b >> n >> w;

    for(int i = 1; i < n; i++)
    {
        int sheep = i;
        int goat = n-i;
        int res = (a * sheep) + (b * goat);

        if(res == w)
        {
            cnt++;
            s_num = sheep;
            g_num = goat;
        }
    }

    // 해가 하나인 경우
    if(cnt == 1)
        cout << s_num << ' ' << g_num << '\n';
    // 해가 두개 이상이거나 없을 경우
    else
        cout << -1 << '\n';


}