๐Ÿ“ฆ Chango/๐Ÿฃ EDOC

BOJ ๋ฐฑ์ค€ 16283๋ฒˆ : Farm

์„ ๋‹ฌ 2021. 9. 29. 18:36
๋ฐ˜์‘ํ˜•

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

 

๋ฌธ์ œ

๋ชฉ์žฅ ์ฃผ์ธ์ธ ์ƒ๋ฐฐ๋Š” ์–‘๊ณผ ์—ผ์†Œ๋“ค์„ ๊ฐ™์ด ๊ธฐ๋ฅด๊ณ  ์žˆ๋‹ค. ๊ธฐ๋ฅด๋Š” ์–‘๊ณผ ์—ผ์†Œ๋Š” ๊ฐ๊ฐ ํ•œ ๋งˆ๋ฆฌ ์ด์ƒ์ด๋‹ค. ์–‘๊ณผ ์—ผ์†Œ๋Š” ๊ฐ™์€ ์‚ฌ๋ฃŒ๋ฅผ ๋จน๊ณ , ์–‘ ํ•œ ๋งˆ๋ฆฌ๋Š” ํ•˜๋ฃจ์— ์‚ฌ๋ฃŒ๋ฅผ ์ •ํ™•ํžˆ a ๊ทธ๋žจ ๋จน๊ณ , ์—ผ์†Œ ํ•œ ๋งˆ๋ฆฌ๋Š” ํ•˜๋ฃจ์— ์ •ํ™•ํžˆ b ๊ทธ๋žจ์„ ๋จน๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.

์ƒ๋ฐฐ๋Š” ๋งค์ผ ์•„์นจ ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ๊ฐ๊ฐ ๋ช‡ ๋งˆ๋ฆฌ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์ž‘์—…์„ ํ•œ๋‹ค. ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ๊ฐ๊ฐ ๋ช‡ ๋งˆ๋ฆฌ์ธ์ง€ ํ™•์ธํ•  ๋•Œ, ์–‘๊ณผ ์—ผ์†Œ๋“ค์ด ๋Œ์•„ ๋‹ค๋…€์„œ ์ •ํ™•ํ•˜๊ฒŒ ๊ทธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๋Œ€์‹ ์— ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ์ „์ฒด ๋ช‡ ๋งˆ๋ฆฌ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ , ๋˜ ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ์–ด์ œ ํ•˜๋ฃจ ๋™์•ˆ ์†Œ๋น„ํ•œ ์ „์ฒด ์‚ฌ๋ฃŒ์˜ ์–‘๋งŒ ํ™•์ธํ•ด์„œ ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ๊ฐ๊ฐ ๋ช‡ ๋งˆ๋ฆฌ ์ธ์ง€๋ฅผ ์•Œ๋ ค๊ณ  ํ•œ๋‹ค.

์ƒ๋ฐฐ๊ฐ€ ํ™•์ธํ•œ ์–‘๊ณผ ์—ผ์†Œ ์ „์ฒด๊ฐ€ n๋งˆ๋ฆฌ์ด๊ณ , ์–ด์ œ ํ•˜๋ฃจ ๋™์•ˆ ์†Œ๋น„ํ•œ ์ „์ฒด ์‚ฌ๋ฃŒ์˜ ์–‘์ด w๊ทธ๋žจ์ผ ๋•Œ, ์–‘๊ณผ ์—ผ์†Œ๊ฐ€ ๊ฐ๊ฐ ๋ช‡ ๋งˆ๋ฆฌ์ธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ž…๋ ฅ์€ ํ‘œ์ค€์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์— ๋„ค ์ •์ˆ˜ a, b, n, w๊ฐ€ ํ•œ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. 1 ≤ a ≤ 1,000, 1 ≤ b ≤ 1,000, 2 ≤ n ≤ 1,000, 2 ≤ w ≤ 1,000,000์ด๋‹ค.

์ถœ๋ ฅ

์ถœ๋ ฅ์€ ํ‘œ์ค€์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์— ์–‘์˜ ์ˆ˜์™€ ์—ผ์†Œ์˜ ์ˆ˜๋ฅผ ๊ฐ๊ฐ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ ์žˆ๋Š” ๊ฒฝ์šฐ ํ˜น์€ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฐ€ ์—†์„ ๊ฒฝ์šฐ, -1 ์„ ์ถœ๋ ฅํ•œ๋‹ค. 

 

ํ’€์ด

#include <iostream>

using namespace std;

int main () {
    
    int a,b,n,w, ans=-1;
    cin >> a >> b >> n >> w;
    
    for(int i=1; i<n; i++){
        if( a*i + b*(n-i) == w){
            ans = i;
            //๋‹ต์ด ๋‚˜์™”๋Š”๋ฐ ํ•˜๋‚˜๋ผ๋„ ๋” ์žˆ๋‹ค๋ฉด
            for(int j=i+1; j<n; j++){
                if( a*j + b*(n-j) == w){
                    cout << -1;
                    return 0;
                }
            }
        }
    }

    if(ans==-1){
        cout << -1;
    }
    else{
        cout << ans << " " << n-ans;
    }
    
    return 0;
    
}
๋ฐ˜์‘ํ˜•