๋ฌธ์
๋ฐ์๋ D์ผ ๋์ ๋ค์ด์ดํธ๋ฅผ ํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค.
๋ค์ด์ดํธ ์ ๋ฐ์์ ์ฒด์ค์ W0 g, ์ผ์ผ ์๋์ง ์ญ์ทจ๋ I0 Kcal, ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ์ผ์ผ ์๋์ง ์ญ์ทจ๋๊ณผ ๊ฐ์ I0 Kcal์ด๋ค. ๋ฐ์๋ ์ด๋์ ํ์ง ์์ ์ผ์ผ ํ๋ ๋์ฌ๋ A0์ 0 Kcal์ด๋ค.
๋ค์ด์ดํธ ๊ธฐ๊ฐ, ๋ฐ์๋ ์ผ์ผ ์๋์ง ์ญ์ทจ๋๊ณผ ์ผ์ผ ํ๋ ๋์ฌ๋์ ๋ฐ๊ฟ ๊ฒ์ด๋ค(๋ฌผ๋ก ๋ค์ด์ดํธ ์ ๊ณผ ๊ฐ์ ์๋ ์๋ค). ๋ฐ์์ ๋ค์ด์ดํธ ๊ธฐ๊ฐ ์ผ์ผ ์๋์ง ์ญ์ทจ๋์ I Kcal, ๋ค์ด์ดํธ ๊ธฐ๊ฐ ์ผ์ผ ํ๋ ๋์ฌ๋์ A Kcal์ด๋ค.
๋ค์ด์ดํธ๋ฅผ ํ๋ ๋์ ๋ฐ์์ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๋ณํํ๋ค. ๋จ, ๋ฐ์์ ์ ์ฒด ๊ตฌ์กฐ๋ ๋งค์ฐ ๋จ์ํ์ฌ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๊ฐ๊ฐ ํ๋ฃจ์ ๋จ ํ ๋ฒ๋ง ๋ณํํ๋ค.
์ฒด์ค์ (์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) g/Kcal๋งํผ ๋ํด์ง๋ค๊ณ ๊ฐ์ ํ๋ค. ์ผ์ผ ์๋์ง ์๋น๋์ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋๊ณผ ์ผ์ผ ํ๋ ๋์ฌ๋์ ๋ํ ๊ฐ์ด๋ค.
(์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) ์ ์ ๋๊ฐ์ด ๊ธฐ์ด ๋์ฌ๋ ๋ณํ ์ญ์น T Kcal ์ด๊ณผ๋ผ๋ฉด, ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ⌊ (์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) / 2 ⌋ ๋งํผ ๋ํด์ง๋ค. ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋ ๋ณํ๋ ๊ฐ์ ๋ ์ ์ฒด์ค ๋ณํ ๋ค์์ ์ผ์ด๋๋ค.
๋จ, ์๋์ ํด๋นํ๋ฉด ๋ฐ์๋ ์ฌ๋งํ๋ค.
- ์ฒด์ค์ด 0 g ์ดํ์ธ ๊ฒฝ์ฐ
- ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ด 0 Kcal ์ดํ์ธ ๊ฒฝ์ฐ
D์ผ ๊ฐ์ ๋ค์ด์ดํธ๊ฐ ๋๋ ํ, ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๋ณํ๋ฅผ ๊ณ ๋ คํ์ง ์์์ ๋์ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๋ณํ๋ฅผ ๊ณ ๋ คํ์ ๋ ๊ฐ๊ฐ์ ์์ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์, ๊ทธ๋ฆฌ๊ณ ๋ค์ด์ดํธ ์ ๋ฐ์์ ์๋ ์ํ๋ก ๋์๊ฐ๋ค๋ฉด ๋ชธ๋ฌด๊ฒ๊ฐ ์ฆ๊ฐํ๋ ์์ ํ์์ด ์ผ์ด๋ ์ง ๊ณ์ฐํด์ฃผ์.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ ๋ฐ์์ ๋ค์ด์ดํธ ์ ์ฒด์ค W0 (1 ≤ W0 ≤ 107), ๋ค์ด์ดํธ ์ ์ผ์ผ ์๋์ง ์ญ์ทจ๋ ๋ฐ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋ I0 (1≤ I0 ≤ 105), ๊ธฐ์ด ๋์ฌ๋ ๋ณํ ์ญ์น T (1 ≤ T ≤ 1,000)๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค.
๋ ๋ฒ์งธ ์ค์๋ ๋ฐ์์ ๋ค์ด์ดํธ ๊ธฐ๊ฐ D (1 ≤ D ≤ 1,000), ๋ค์ด์ดํธ ๊ธฐ๊ฐ ์ผ์ผ ์๋์ง ์ญ์ทจ๋ I (0 ≤ I ≤ 105), ๋ค์ด์ดํธ ๊ธฐ๊ฐ ์ผ์ผ ํ๋ ๋์ฌ๋ A (0 ≤ A ≤ 105)๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ชจ๋ ์๋ ์ ์์ด๋ฉฐ, ๋จ์๋ ์ง๋ฌธ์์ ์ธ๊ธํ ๋จ์๋ฅผ ๋ฐ๋ฅธ๋ค. ๋ค์ด์ดํธ ๋์ ์ฒด์ค์ด ์คํ๋ ค ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๋ณํ๋ฅผ ๊ณ ๋ คํ์ง ์์์ ๋์ ๋ค์ด์ดํธ ํ ์์ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ์ถ๋ ฅํ๋ค. ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋ ๋ณํ๋ฅผ ๊ณ ๋ คํ์ง ์์์ผ๋ฏ๋ก ๋ค์ด์ดํธ ์ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ฉด ๋๋ค. ๋ง์ฝ ๋ค์ด์ดํธ ๋์ค ๋ฐ์์ ์ฌ๋ง์ด ์์๋๋ ๊ฒฝ์ฐ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋ ๋์ Danger Diet๋ฅผ ์ถ๋ ฅํ๋ค.
๋ ๋ฒ์งธ ์ค์๋ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๋ณํ๋ฅผ ๊ณ ๋ คํ์ ๋์ ๋ค์ด์ดํธ ํ ์์ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ์ถ๋ ฅํ๊ณ , ๋ณํํ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ๊ฐ์ง๊ณ ๋ค์ด์ดํธ ์ ์ผ์ผ ์๋์ง ์ญ์ทจ๋๊ณผ ๋ค์ด์ดํธ ์ ์ผ์ผ ํ๋ ๋์ฌ๋์ผ๋ก ๋์๊ฐ์ ๋ ์ฒด์ค์ด ์ฆ๊ฐํ๋ ์์ ํ์์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ YOYO, ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ NO๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ๋ค์ด์ดํธ ๋์ค ๋ฐ์์ ์ฌ๋ง์ด ์์๋๋ ๊ฒฝ์ฐ ์ฒด์ค๊ณผ ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋, ์์ ๋ฐ์ ์ฌ๋ถ ๋์ Danger Diet๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์ฃผ์ด์ง ๋ณ์๋ค์ด ๋ง์์ ํท๊ฐ๋ฆด ์ ์๋ ๋ฌธ์ ์ด๋ค.
A. ๋ณ์๋ค
01. ๋ค์ด์ดํธ ์
์ฒด์ค : w
์ผ์ผ ์๋์ง ์ญ์ทจ๋ : I0
๊ธฐ์ด๋์ฌ๋ : I0
์ผ์ผ ํ๋ ๋์ฌ๋ : A0 = 0
02. ๋ค์ด์ดํธ ๊ธฐ๊ฐ -> ์ผ์ผ ๊ธฐ์ด๋์ฌ๋์ด ์ฒด์ค ๋ณํ ๋ค์์ ๋ณํํ๋ค
์ผ์ผ ์๋์ง ์ญ์ทจ๋ : I
๊ธฐ์ด๋์ฌ๋ : ์๋ ๊ณต์์ ๋ฐ๋ผ ๋ณํํจ.
(์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) ์ ์ ๋๊ฐ์ด ๊ธฐ์ด ๋์ฌ๋ ๋ณํ ์ญ์น T Kcal ์ด๊ณผ๋ผ๋ฉด, ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ⌊ (์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) / 2 ⌋ ๋งํผ ๋ํด์ง๋ค. ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋ ๋ณํ๋ ๊ฐ์ ๋ ์ ์ฒด์ค ๋ณํ ๋ค์์ ์ผ์ด๋๋ค.
์ผ์ผ ํ๋ ๋์ฌ๋ : A
B. ๊ณต์
์ผ์ผ ๊ธฐ์ด๋์ฌ๋ ๋ณํ ๋ฐ์ X
W1 += ์ผ์ผ ์๋์ง ์ญ์ทจ๋ - (์ผ์ผ ๊ธฐ์ด๋์ฌ๋ + ํ๋ ๋์ฌ๋)
์ผ์ผ ๊ธฐ์ด๋์ฌ๋ ๋ณํ ๋ฐ์O
W2 += ์ผ์ผ ์๋์ง ์ญ์ทจ๋ - (์ผ์ผ ๊ธฐ์ด๋์ฌ๋ + ํ๋ ๋์ฌ๋)
๋ง์ฝ (์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) ์ ์ ๋๊ฐ์ด ๊ธฐ์ด ๋์ฌ๋ ๋ณํ ์ญ์น T Kcal ์ด๊ณผ๋ผ๋ฉด, ์ผ์ผ ๊ธฐ์ด ๋์ฌ๋์ ⌊ (์ผ์ผ ์๋์ง ์ญ์ทจ๋ − ์ผ์ผ ์๋์ง ์๋น๋) / 2 ⌋ ๋งํผ ๋ํด์ง๋ค.
-> ์ผ์ผ ๊ธฐ์ด๋์ฌ๋ ๋ณํ
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int w, basic, t, day, d_input, d_output;
// ์
๋ ฅ
cin >> w >> basic >> t;
cin >> day >> d_input >> d_output;
int w1 = w;
int w2 = w;
// ์ผ์ผ ๊ธฐ์ด๋์ฌ๋
int basic2 = basic;
for (int i=0; i<day; i++){
w1 += d_input - (basic + d_output);
w2 += d_input - (basic2 + d_output);
// ๊ธฐ์ด๋์ฌ๋ ๋ณํ : w2์๋ง ๋ฐ์๋จ, ์ฒด์ค ๋ณํ ๋ค์์ ๋ฐ์
if (abs(d_input - (basic2 + d_output)) > t)
basic2 += floor((d_input - (basic2+d_output))/2.0);
}
// ์ถ๋ ฅ 01. ์ผ์ผ ๊ธฐ์ด๋์ฌ๋์ ๋ณํ ๋ฐ์ X
if (w1 <= 0)
cout << "Danger Diet\n";
else
cout << w1 << " " << basic << "\n";
// ์ถ๋ ฅ 02. ์ผ์ผ ๊ธฐ์ด๋์ฌ๋์ ๋ณํ ๋ฐ์ O
if (w2 <= 0 || basic2 <= 0)
cout << "Danger Diet\n";
else{
cout << w2 << " " << basic2 << " ";
if (basic - basic2 > 0) // ์ฒด์ค์ด ์๋๋ผ ์ผ์ผ ๊ธฐ์ด๋์ฌ๋์ผ๋ก ๋น๊ตํด์ผ ํจ
cout << "YOYO";
else
cout << "NO";
}
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1764๋ฒ : ๋ฃ๋ณด์ก (0) | 2021.09.12 |
---|---|
[๋ฐฑ์ค/C++] 10757๋ฒ : ํฐ ์ (0) | 2021.09.12 |
[๋ฐฑ์ค/C++] 10876๋ฒ : ์ค๋ณต ๋นผ๊ณ ์ ๋ ฌํ๊ธฐ (0) | 2021.09.08 |
[๋ฐฑ์ค/C++] 11651๋ฒ : ์ขํ ์ ๋ ฌํ๊ธฐ 2 (0) | 2021.09.06 |
[๋ฐฑ์ค/C++] 10994๋ฒ : ๋ณ ์ฐ๊ธฐ - 19 (0) | 2021.09.06 |
๋๊ธ