๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Python] [Silver2] 2477๋ฒ_์ฐธ์ธ๋ฐญ
Dbswnstjd
2023. 6. 16. 17:02
๋ฌธ์
https://www.acmicpc.net/problem/2477
2477๋ฒ: ์ฐธ์ธ๋ฐญ
์ฒซ ๋ฒ์งธ ์ค์ 1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์ ์ ์ K (1 ≤ K ≤ 20)๊ฐ ์ฃผ์ด์ง๋ค. ์ฐธ์ธ๋ฐญ์ ๋ํ๋ด๋ ์ก๊ฐํ์ ์์์ ํ ๊ผญ์ง์ ์์ ์ถ๋ฐํ์ฌ ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ๋ฅผ ๋๋ฉด์ ์ง
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 2477๋ฒ ๋ฌธ์ - ์ฐธ์ธ๋ฐญ
melon = int(input()) # ์ฐธ์ธ ๊ฐ์ K
values = [input().split() for _ in range(6)] # ๋๋จธ์ง 2~7 line์ 6 ์ค์ ์
๋ ฅ ๋ฐ๋๋ค.
directions = [int(v[0]) for v in values] # ๋ฐฉํฅ์ ๋ฝ์๋ด์ ์ ์ฅํ๋ค.
lengths = [int(v[1]) for v in values] # ๊ธธ์ด๋ฅผ ๋ฝ์๋ด์ ์ ์ฅํ๋ค.
max_lengths, box_lengths = [], [] # ํฐ ๋ฐ์ค์ ๊ธธ์ด, ์์ ๋ฐ์ค์ ๊ธธ์ด๋ฅผ ๋ด์ ๋ฐฐ์ด
for i in range(1, 5):
if directions.count(i) == 1: # direction์ด ํ๋ฒ๋ง ์กด์ฌํ๋ค == ํฐ ๋ฐ์ค์ ๋ณ
max_lengths.append(lengths[directions.index(i)]) # ํฐ๋ฐ์ค์ ๋ณ ๊ธธ์ด ์ ์ฅ
temp = directions.index(i) + 3 # ํฐ ๋ฐ์ค + 3 == ์์ ๋ฐ์ค์ ๋ณ
if temp >= 6:
temp -= 6 # cycle์ ์ํด 6 ์ด์์ผ ๊ฒฝ์ฐ -6
box_lengths.append(lengths[temp])
area = max_lengths[0] * max_lengths[1] - box_lengths[0] * box_lengths[1]
print(melon * area)