๐Ÿ“ฆ Chango/๐Ÿฅ‘ BOJ ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ

[BOJ][C++] ๋ฐฑ์ค€ 1712๋ฒˆ : ์†์ต๋ถ„๊ธฐ์ 

์„ ๋‹ฌ 2021. 10. 9. 22:08
๋ฐ˜์‘ํ˜•

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

 

1712๋ฒˆ: ์†์ต๋ถ„๊ธฐ์ 

์›”๋“œ์ „์ž๋Š” ๋…ธํŠธ๋ถ์„ ์ œ์กฐํ•˜๊ณ  ํŒ๋งคํ•˜๋Š” ํšŒ์‚ฌ์ด๋‹ค. ๋…ธํŠธ๋ถ ํŒ๋งค ๋Œ€์ˆ˜์— ์ƒ๊ด€์—†์ด ๋งค๋…„ ์ž„๋Œ€๋ฃŒ, ์žฌ์‚ฐ์„ธ, ๋ณดํ—˜๋ฃŒ, ๊ธ‰์—ฌ ๋“ฑ A๋งŒ์›์˜ ๊ณ ์ • ๋น„์šฉ์ด ๋“ค๋ฉฐ, ํ•œ ๋Œ€์˜ ๋…ธํŠธ๋ถ์„ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ์—๋Š” ์žฌ๋ฃŒ๋น„์™€

www.acmicpc.net

 

๋ฌธ์ œ

์›”๋“œ์ „์ž๋Š” ๋…ธํŠธ๋ถ์„ ์ œ์กฐํ•˜๊ณ  ํŒ๋งคํ•˜๋Š” ํšŒ์‚ฌ์ด๋‹ค. ๋…ธํŠธ๋ถ ํŒ๋งค ๋Œ€์ˆ˜์— ์ƒ๊ด€์—†์ด ๋งค๋…„ ์ž„๋Œ€๋ฃŒ, ์žฌ์‚ฐ์„ธ, ๋ณดํ—˜๋ฃŒ, ๊ธ‰์—ฌ ๋“ฑ A๋งŒ์›์˜ ๊ณ ์ • ๋น„์šฉ์ด ๋“ค๋ฉฐ, ํ•œ ๋Œ€์˜ ๋…ธํŠธ๋ถ์„ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ์—๋Š” ์žฌ๋ฃŒ๋น„์™€ ์ธ๊ฑด๋น„ ๋“ฑ ์ด B๋งŒ์›์˜ ๊ฐ€๋ณ€ ๋น„์šฉ์ด ๋“ ๋‹ค๊ณ  ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด A=1,000, B=70์ด๋ผ๊ณ  ํ•˜์ž. ์ด ๊ฒฝ์šฐ ๋…ธํŠธ๋ถ์„ ํ•œ ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,070๋งŒ์›์ด ๋“ค๋ฉฐ, ์—ด ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,700๋งŒ์›์ด ๋“ ๋‹ค.

๋…ธํŠธ๋ถ ๊ฐ€๊ฒฉ์ด C๋งŒ์›์œผ๋กœ ์ฑ…์ •๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์‚ฐ ๋Œ€์ˆ˜๋ฅผ ๋Š˜๋ ค ๊ฐ€๋‹ค ๋ณด๋ฉด ์–ด๋Š ์ˆœ๊ฐ„ ์ด ์ˆ˜์ž…(ํŒ๋งค๋น„์šฉ)์ด ์ด ๋น„์šฉ(=๊ณ ์ •๋น„์šฉ+๊ฐ€๋ณ€๋น„์šฉ)๋ณด๋‹ค ๋งŽ์•„์ง€๊ฒŒ ๋œ๋‹ค. ์ตœ์ดˆ๋กœ ์ด ์ˆ˜์ž…์ด ์ด ๋น„์šฉ๋ณด๋‹ค ๋งŽ์•„์ ธ ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€์ ์„ ์†์ต๋ถ„๊ธฐ์ (BREAK-EVEN POINT)์ด๋ผ๊ณ  ํ•œ๋‹ค.

A, B, C๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์†์ต๋ถ„๊ธฐ์ ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” 21์–ต ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— ์†์ต๋ถ„๊ธฐ์  ์ฆ‰ ์ตœ์ดˆ๋กœ ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š” ํŒ๋งค๋Ÿ‰์„ ์ถœ๋ ฅํ•œ๋‹ค. ์†์ต๋ถ„๊ธฐ์ ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

1.

#include <iostream>

using namespace std;

int main () {
    
    int a, b, c;
    cin >> a >> b >> c;
    
    if(b >= c){
        cout << -1;
        return 0;
    }
    
    for(int i=0; true; i++){
        if(a < (c-b)*i){
            cout << i;
            return 0;
        }
    }
}

2100000000๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ ๊ฐ๋‹น๋ชปํ•จ

 

2.

#include <iostream>

using namespace std;

int main () {
    
    int a, b, c;
    cin >> a >> b >> c;
    
    if(b >= c){
        cout << -1;
        return 0;
    }
    
    for(long long i=0; true; i++){
        if(a < (c-b)*i){
            cout << i;
            return 0;
        }
    }
}

์‹œ๊ฐ„์ดˆ๊ณผ

 

3.

#include <iostream>

using namespace std;

int main () {
    
    int a, b, c;
    cin >> a >> b >> c;
    
    if(b >= c){
        cout << -1;
    }
    else {
        cout << a/(c-b)+1;
    }
    
    return 0;
}

์„ฑ๊ณต..

 

์—ํœด..

๋ฐ˜์‘ํ˜•