๐ ๋ฌธ์ ๋งํฌ
1876๋ฒ: ํ๊ธฐ๋ ๋ณผ๋ง๊ณต
๐ ๋ฌธ์ ์์ฝ
์ง๋ฆ์ด 20cm์ธ ๋ณผ๋ง๊ณต์ ํญ์ด 105cm์ธ ๋ณผ๋ง ๋ ์ธ์, ๋ ์ธ๊ณผ ํํํ ์ถ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์๊ณ ๋ฐฉํฅ X๋๋ก ๋ ์ธ์ ์ค์ฌ์์ ๋์ก๋ค. (10<=X<=80) ๋ ์ธ์๋ ๋ฒํผ๊ฐ ์ค์น๋์ด, ๊ณต์ด ๋ฒํผ์ ์ถฉ๋ํ๋ฉด ์ถฉ๋ํ ์ ์ฌ๊ฐ๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ํ๊ฒจ๋์จ๋ค. ํ๋ ๋ ์ธ์ ์ค์ฌ์ ์ธ์์ ธ ์๊ณ , ๊ณต๊ณผ ํ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฏธํฐ ๋จ์๋ก T๋ผ๊ณ ์ฃผ์ด์ก์ ๋, ๊ณต๊ณผ ํ์ด ์ถฉ๋ํ๋ฉด "yes", ์ถฉ๋ํ์ง ์์ผ๋ฉด "no"๋ฅผ ์ถ๋ ฅํ์ธ์.
๐ฟ ํ์ด ์ค๋ช
๋ณผ๋ง๊ณต์ ๊ถค์ ์ ์ฃผ๊ธฐ์ฑ์ด ์๋ค. ์ ์ฒด ๊ธธ์ด๋ฅผ ์ฃผ๊ธฐ๋ก ๋๋ ๋๋จธ์ง ๊ธธ์ด ๋งํผ์ ๊ถค์ ์์ ํ๊ณผ ๊ณต์ ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ๋ณผ๋ง๊ณต+๋ณผ๋งํ์ ๋ฐ์ง๋ฆ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์ถฉ๋, ํฌ๋ฉด ์ถฉ๋ํ์ง ์๋ ๊ฒ์ผ๋ก ํ๋ณํ๋ค.
์ ๋ต ์ฝ๋
import math
N=int(input())
for _ in range(N):
T, X=map(float, input().split())
half_period=math.tan(math.radians(90-X))*42.5
remainder=T*100%(half_period*2)
if remainder>half_period:
std=(2*half_period-remainder)*math.sin(math.radians(X))
elif remainder<=half_period:
std=remainder*math.sin(math.radians(X))
if std>16:
print("no")
elif std<=16:
print("yes")
์ค์ค๋ก ๋ฐ๊ฒฌํ ์ฃผ์ํด์ผํ ์ฌํญ์ ์๋์ ๊ฐ๋ค.
1. ๋ณผ๋ง๊ณต์ ์ค์ฌ์ ๊ถค์ ์ด๋ฏ๋ก, ๋ณผ๋ง ๋ ์ธ์ ํญ์์ ๋ณผ๋ง๊ณต์ ๋ฐ์ง๋ฆ(10cm)๋ฅผ ๋นผ์ค๋ค.
2. ์ถฉ๋์ ํ๋ณ ๊ธฐ์ค์ ์ด๊ธฐ ์ฝ๋์์ 10cm, 20cm ํท๊ฐ๋ฆฌ๋ค๊ฐ ๋ณผ๋ง๊ณต+๋ณผ๋งํ์ ๋ฐ์ง๋ฆ ํฉ์ธ 16cm๋ก ํ์ ํ๋ค.
์ดํ, ์ด๋ฌํ ์์ ์ฌํญ๋ค์๋ ๊ณ์ํด์ ์ค๋ต ํ์ ์ด ๋์ค์, ๋ค๋ฅธ ๋ถ์ ๋ต ์ฝ๋๋ฅผ ๊ฒ์ํ์๋ค. ์์ฆ ๊ณจ๋ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ฝ๋๋ฅผ ์ผ๋จ ์ ์ถํด๋ณด๊ณ ํ๋ฆฌ๋ฉด ๊ณ ์น๋ ์์ผ๋ก ํ๋ค๊ฐ ์ ํ์ ์ง์ณ์ ๋ต ์ฝ๋๋ฅผ ๊ฒ์ํ๋ ์ผ๋ค์ด ์๊ธฐ๊ณ ์๋๋ฐ ๊ฒฐ๊ตญ ์ ๋ต ์ฝ๋๋ ๋ํ๋ ์ ์๋ ๊ฒฐ๊ณผ์ ๊ฒฝ์ฐ์, ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์์ ์ด๋ค ๊ฐ์ด ์ถ๋ ฅ๋์ด์ผ ํ๋์ง ๋ฐ์ ธ๋ณธ ํ์ ์์ฑ์ด ๋๋ค.
๊ฒฝ์ฐ๋ฅผ ์ธ๋ณด๊ณ , ๊ทธ๊ฑธ ๋ฐ์ง๋ ๊ฒ์ด ํญ์ ์ฝ๊ฒ ๋์ง๋ ์๋๋ฐ, ์ด ํฌ์คํ ๊ณผ ๊ฐ์ด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ ํํ๋ก ์ฌ์ ์ํ๋ ค๊ณ ์ด๋ป๊ฒ ์ฌ์ ์ํ๋์ง ์ค์ค๋ก ์ ๋ฆฌํด๋ณด๋ ๊ฒฝํ์ด ์์ด๋ฉด ํ์๋ ๋ ์ฌ์์ง๊ณ , ๋ ๋์ ํ๋ฅ ๋ก ์ฌ์ ์๊ฐ ๊ฐ๋ฅํด์ง์ง ์์๊น ์๊ฐํ๋ค!
์ด๋ฒ ๋ฌธ์ ๋, ์ค์ค๋ก ํ๋ค๊ฐ ๋ง์์ด 30°์ ๋ ๊บพ์ด๋ ๋ฐ๋์ ๋ค๋ฅธ ๋ถ์ ๋ต ์ฝ๋๋ฅผ ๋ณด๊ฒ ๋์๋ค.
์ฝ๋๋ฅผ ๋ณธ ๋ค ์ฝ๋๋ฅผ ํตํด+์ค์ค๋ก ๊ณ ๋ฏผํ๋ค๊ฐ ๋ช ๊ฐ์ง ์ค์๋ค์ ๋ฐ๊ฒฌํ๋ค.
1. ๋ณผ๋งํ๊ณผ ๋ณผ๋ง๊ณต ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ๋ฏธํฐ(m) ๋จ์๋ก ์ฃผ์ด์ง๋ค. ๐ฒ(๊ฒฝ์ , ์ถฉ๊ฒฉ, ๊ณตํฌ)
2. ๋ณผ๋งํ๊ณผ ๋ณผ๋ง๊ณต์ ์ต๋จ๊ฑฐ๋ฆฌ ์์ ์๋ชป ์ ์ํ์๋ค.
๊ฐ๊ฐ์ ๊ฒฝ์ฐ์์ ๋ณผ๊ณผ ํ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ์ผ๊ฐ๋น๋ฅผ ํ์ฉํ์ฌ ์๋์ ๊ฐ์ด ๊ตฌํ ์ ์๋ค.
๋ณผ๋ง๊ณต์ด ์๋์์ ์ค๋, ์์์ ์ค๋ ์ต๋จ๊ฑฐ๋ฆฌ ๊ณต์์ด ๊ฐ์ ๊ฒ์ ํ์ธํ ํ, remainder๊ฐ half_period๋ณด๋ค ํฐ์ง, ์์์ง๋ง ํ๋ณํ์ฌ ์ ์ ํ ๊ณต์์ ์ทจํด ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ์๋ค.
๊ทธ ๊ฒฐ๊ณผ ์ ๋ต!
์ค์๋ฅผ ์ค์ด๋ ค ๊ผผ๊ผผํ๊ฒ ๋ฌธ์ ๋ถ์ํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง,
์ ์ ์ด ํผ๋ํ ์ํฉ์์๋ ๋ง์ด ์ค์ํด๋ณด๊ณ ๊ฐ์ ํ ๊ฒฝํ์ด ํฐ ๋์์ด ๋๋ฆฌ๋ผ ์๊ฐํ๋ค.
'๐ป ์ปดํจํฐ๊ณตํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 27914: ๋ธ์ค์ด์ ๊ตฌ์ฌ ์์ด์คํฌ๋ฆผ (0) | 2024.01.17 |
---|---|
[Python] ๋ฐฑ์ค 2734: ๋๋ผํต ์๊ธฐ (0) | 2024.01.11 |
[Python] 1167: ํธ๋ฆฌ์ ์ง๋ฆ (ํธ๋ฆฌ ์ง๋ฆ์ ์ฑ์ง, ๊ท๋ฅ๋ฒ ์ฆ๋ช ) (0) | 2024.01.07 |
[Python] ๋ฐฑ์ค 1916: ์ต์๋น์ฉ ๊ตฌํ๊ธฐ (dijkstra) (0) | 2024.01.07 |
[Python] ๋ฐฑ์ค 14502: ์ฐ๊ตฌ์ (์กฐํฉ, bfs ์ต์ ํ) (1) | 2024.01.02 |