๐ค๋ฌธ์ ํด๊ฒฐ
D3 | ์ํ?
ํ๋ฆฌ์ ๋ง์ ํธ ๊ธฐ์ฐจ๊ฐ ๋ง๋๋ ์๊ฐ์ t ๋ก ๊ฐ๋ค
ํ๋ฆฌ์ ๋ง์ ํธ ๊ธฐ์ฐจ๊ฐ ์ด๋ํ ๊ฑฐ๋ฆฌ์ ํฉ์ D ์ด๋ค.
์ด๋ ๊ฒ ์ ๋ ๊ฒ ์์ ๊ณ์ฐ ํด๋ณด๋ฉด ํ๋ฆฌ๊ฐ ์ด๋ํ ๊ฑฐ๋ฆฌ๋
ํ๋ฆฌ๊ฐ ์ด๋ํ๊ฑฐ๋ฆฌ๋ ๋ฐ๋ก ๋์ ํด์ฃผ๊ณ ,
ํ๋ฆฌ์ ์๋ ฅ๊ณผ ์ด๋ํ๊ฑฐ๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก ์๊ฐ์ ๊ตฌํด์ฃผ๊ณ
๊ตฌํ ์๊ฐ์ผ๋ก ๊ธฐ์ฐจ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ค๋ค.
๊ทธ๋ผ ๋จ์ ๊ธฐ์ฐจ์ฌ์ด์ ๊ฐ๊ฒฉ์ (๊ธฐ์กด์ ๊ธฐ์ฐจ์ฌ์ด์ ๊ฐ๊ฒฉ - ๋ ๊ธฐ์ฐจ์ ์ด๋๊ฑฐ๋ฆฌ)
๐ป์์ค ์ฝ๋
if __name__ == "__main__":
T = int(input())
for tc in range(1, 1 + T):
# ์ฌ์ด์ ๊ฑฐ๋ฆฌ, A ์๋ ฅ, B ์๋ ฅ, ํ๋ฆฌ ์๋ ฅ
D, A, B, F = map(int, input().split())
# s = v*t ํ๋ฆฌ๊ฐ ๋ ์๊ฐ ๊ฑฐ๋ฆฌ
fly_d = 0
idx = 0
while D >= 10**(-6):
# ์ค๋ฅธ์ชฝ ๋ ์๊ฐ๊ธฐ
if idx % 2 == 0:
d = (D * B * F) / (F * (B + F))
fly_d += d
# ์ผ์ชฝ ๋ ์๊ฐ๊ธฐ
else:
d = (D * A * F) / (F * (A + F))
fly_d += d
t = d / F
D -= (A + B) * t
print(f'#{tc} {fly_d}')
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
๋งํฌ: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWajaTmaZw4DFAWM
[๋ฌธ์ ]
๊ถ๊ธ์ฆ์ด ๋ง์ ํ ์๋
๋ ์กด ํฐ ๋
ธ์ด๋ง(John von Neumann)์๊ฒ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ง๋ฌธํ๋ค.
“๋ ๊ธฐ์ฐจ A, B๊ฐ ์๋ก๋ฅผ ํฅํด ๋ฌ๋ฆฌ๊ณ ์๋ค. ๋ ๊ธฐ์ฐจ์ ์ ๋ฉด๋ถ๋ 250๋ง์ผ ๋จ์ด์ ธ ์๊ณ ๊ธฐ์ฐจ A๋ ์์ 10๋ง์ผ, B๋ ์์ 15๋ง์ผ๋ก
๋ฌ๋ฆฌ๊ณ ์๋ค.
ํ๋ฆฌ๊ฐ ๊ธฐ์ฐจ A์ ์ ๋ฉด๋ถ์์ ๊ธฐ์ฐจ B๋ก ์์ 20๋ง์ผ์ ์๋ ฅ์ผ๋ก ๋ ์๊ฐ๋ค. ํ๋ฆฌ๊ฐ ๊ธฐ์ฐจ B์ ์ ๋ฉด๋ถ์ ๋ฟ์ผ๋ฉด ๋ฐ๋ก ๋ฐฉํฅ์ ๋ฐ๊ฟ
๊ธฐ์ฐจ A๋ฅผ ํฅํด ๊ฐ์ ์๋ ฅ์ผ๋ก ๋ ์๊ฐ๋ค.
๊ทธ๋ฌ๋ค ๊ธฐ์ฐจ A์ B๊ฐ ์ถฉ๋ํ๋ฉด ํ๋ฆฌ๋ ์ฃฝ์ ๊ฒ์ด๋ค. ํ๋ฆฌ๋ ์ฃฝ๊ธฐ ์ ๊น์ง ๋ช ๋ง์ผ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ด๋ํ์๊น?”
ํฐ ๋
ธ์ด๋ง์ ์๋
์ ์ง๋ฌธ์ ๋ํด ์ฆ์ ๋ฌดํ ๊ธ์๋ฅผ ์ด์ฉํด ๋ต์ด 200๋ง์ผ์ด๋ผ๋ ๊ฒ์ ๊ณ์ฐํด๋๋ค.
์๋
๊ฐ ์ง๋ฌธํ ๋ฌธ์ ์ ์กฐ๊ธ ๋ ์ผ๋ฐํ๋ ๋ฒ์ ์ ํด๊ฒฐํด๋ณด์.
[์
๋ ฅ]
์ฒซ ๋ฒ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ์ T๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ๋ค ์ ์ D, A, B, F (1 ≤ D ≤ 103, 1 ≤ A ≤ B ๏ผ F ≤ 102) ๊ฐ ์ฃผ์ด์ง๋ค.
D๋ ๋ ๊ธฐ์ฐจ ์ ๋ฉด๋ถ ์ฌ์ด์ ๊ฑฐ๋ฆฌ, A๋ ๊ธฐ์ฐจ A์ ์๋ ฅ, B๋ ๊ธฐ์ฐจ B์ ์๋ ฅ, F๋ ํ๋ฆฌ์ ์๋ ฅ์ด๋ค.
[์ถ๋ ฅ]
๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค ‘#t’(t๋ ํ
์คํธ์ผ์ด์ค ๋ฒํธ๋ฅผ ์๋ฏธํ๋ฉฐ 1๋ถํฐ ์์ํ๋ค)๋ฅผ ์ถ๋ ฅํ๊ณ ํ ์นธ์ ๋์ด ํ,
๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค ํ๋ฆฌ๊ฐ ์ด๋ํ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ค. ์ ๋ต๊ณผ์ ์ ๋์ค์ฐจ๋ ์๋์ค์ฐจ๊ฐ 10-6 ์ดํ์ด๋ฉด ์ ๋ต์ผ๋ก ์ธ์ ํ๋ค.
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 13335. ํธ๋ญ (0) | 2020.09.20 |
---|---|
[python] ๋ฐฑ์ค - 2617. ๊ตฌ์ฌ ์ฐพ๊ธฐ (0) | 2020.09.19 |
[python] ๋ฐฑ์ค - 16953. A โ B (0) | 2020.09.18 |
[python] SWEA - 1248. ๊ณตํต์กฐ์ (0) | 2020.09.17 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - 3 x n ํ์ผ๋ง (0) | 2020.09.17 |