๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœจ Algorithm

[๋ฐฑ์ค€/C++] 2869๋ฒˆ : ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค.

by nitronium102 2021. 7. 25.

๋ฌธ์ œ

๋•… ์œ„์— ๋‹ฌํŒฝ์ด๊ฐ€ ์žˆ๋‹ค. ์ด ๋‹ฌํŒฝ์ด๋Š” ๋†’์ด๊ฐ€ V๋ฏธํ„ฐ์ธ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๋‹ค.

๋‹ฌํŒฝ์ด๋Š” ๋‚ฎ์— A๋ฏธํ„ฐ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐค์— ์ž ์„ ์ž๋Š” ๋™์•ˆ B๋ฏธํ„ฐ ๋ฏธ๋„๋Ÿฌ์ง„๋‹ค. ๋˜, ์ •์ƒ์— ์˜ฌ๋ผ๊ฐ„ ํ›„์—๋Š” ๋ฏธ๋„๋Ÿฌ์ง€์ง€ ์•Š๋Š”๋‹ค.

๋‹ฌํŒฝ์ด๊ฐ€ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ๋ชจ๋‘ ์˜ฌ๋ผ๊ฐ€๋ ค๋ฉด, ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์„ธ ์ •์ˆ˜ A, B, V๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์„œ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹ฌํŒฝ์ด๊ฐ€ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ๋ชจ๋‘ ์˜ฌ๋ผ๊ฐ€๋Š”๋ฐ ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

์ด๋Ÿฐ ๋ฌธ์ œ๋Š” While๋ฌธ์„ ์“ฐ๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€๋งŒ ๋‚˜๋ˆ—์…ˆ์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค(์•ž์˜ 1712๋ฒˆ ์†์ต๋ถ„๊ธฐ์ ๊ณผ ๋น„์Šทํ•œ ์œ ํ˜•) -> ์• ์ดˆ์— ์‹œ๊ฐ„๋„ ์งง๊ณ  ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด 1000000000๊นŒ์ง€ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ!

 

(A-B)+(A-B)+ ... + (A-B) + A > V

= (A-B)*x > (V-A)

-> (V-A)๋ฅผ (A-B)๋กœ ๋‚˜๋ˆˆ ๊ฐ’ + 1(๋งˆ์ง€๋ง‰ A๋งŒํผ ์˜ฌ๋ผ๊ฐ€๋Š” ๋‚ )์„ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด ๋•Œ, (V-A)%(A-B)๊ฐ€ 0์ด ์•„๋‹ ๊ฒฝ์šฐ ๋‹ค์‹œ ํ•˜๋ฃจ๊ฐ€ ์†Œ์š”๋˜๋ฏ€๋กœ day+2๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. 

#include <iostream>
using namespace std;

int main(){
    int A, B, V, day;
    cin >> A >> B >> V;
    
    day = (V-A)/(A-B);
    if ((V-A)%(A-B) == 0)
        cout << day+1;
    else
        cout << day+2;
}

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

 

2869๋ฒˆ: ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค

์ฒซ์งธ ์ค„์— ์„ธ ์ •์ˆ˜ A, B, V๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์„œ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

์‹์œผ๋กœ ์“ฐ๋‹ˆ๊นŒ ์ข€ ๋” ์ž˜ ๋ณด์ด๋Š” ๊ฒƒ ๊ฐ™๋‹ค! ์ด ๋ฌธ์ œ๋Š” ์ดˆ๋“ฑํ•™์ƒ ๋•Œ ๋งŽ์ด ํ’€์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ๋‹ค์‹œ ๋ณด๋‹ˆ ๋ฐ˜๊ฐ€์› ๋‹ค

๋Œ“๊ธ€