https://www.acmicpc.net/problem/16283
๋ฌธ์
๋ชฉ์ฅ ์ฃผ์ธ์ธ ์๋ฐฐ๋ ์๊ณผ ์ผ์๋ค์ ๊ฐ์ด ๊ธฐ๋ฅด๊ณ ์๋ค. ๊ธฐ๋ฅด๋ ์๊ณผ ์ผ์๋ ๊ฐ๊ฐ ํ ๋ง๋ฆฌ ์ด์์ด๋ค. ์๊ณผ ์ผ์๋ ๊ฐ์ ์ฌ๋ฃ๋ฅผ ๋จน๊ณ , ์ ํ ๋ง๋ฆฌ๋ ํ๋ฃจ์ ์ฌ๋ฃ๋ฅผ ์ ํํ 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;
}
'๐ฆ Chango > ๐ฃ EDOC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 17521๋ฒ : Byte Coin (0) | 2021.10.06 |
---|---|
BOJ ๋ฐฑ์ค 20170๋ฒ: Commemorative Dice (0) | 2021.10.01 |
[์๊ฐ][BOJ][C++] ๋ฐฑ์ค 20044๋ฒ: Project Teams (0) | 2021.09.29 |
[๊ตฌ๋ฆ][C++] 14ํ E-PPER 7๋ฒ : ์ ๋ฌธ๊ธฐ์ฌ (0) | 2021.09.27 |
[๊ตฌ๋ฆ][C++] 10ํ E-PPER 2๋ฒ : OX ํด์ฆ (0) | 2021.09.15 |