ํฐ์คํ ๋ฆฌ ๋ทฐ
[๋ฐฑ์ค] 20056. ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ / python ํ์ด์ฌ
jen jen 2021. 8. 5. 02:56๐ฉ ์๋ฎฌ๋ ์ด์ , ๊ตฌํ
* ์ผ์ฑ SW ์ญ๋ ํ ์คํธ ๊ธฐ์ถ ๋ฌธ์
thinking
"๊ฒฉ์์ ํ๊ณผ ์ด์ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๊ณ , 1๋ฒ ํ์ N๋ฒ๊ณผ ์ฐ๊ฒฐ๋์ด ์๊ณ , 1๋ฒ ์ด์ N๋ฒ ์ด๊ณผ ์ฐ๊ฒฐ๋์ด ์๋ค."
๋ ์ด๊ฒ ๋ญ๋ง์ธ๊ฐ ํ๋ค;; ๐
์ด๊ฑฐ์์!!!!!!
์ด๋ฐ ๊ฒฉ์ํ์์ ๋ฌธ์ ์์ ํ๋ผ๋๋ฐ๋ก๋ง ์์๋๋ก ์งํํ๋ฉด ๋๋ค.
์์ 1์ ์์๋ก ๋ค์ด๋ณด๋ฉด ์ด๋ ๋ค
์์ 1
(1,1)ํ์ด์ด๋ณผ์ ์๋ ฅ์ด 2์ด๋ฏ๋ก 2๋ฒ ๋ฐฉํฅ์ผ๋ก ๋์นธ๊ฐ๊ณ , (1,4)ํ์ด์ด๋ณผ์ ์๋ ฅ์ด 1์ด๋ฏ๋ก 6๋ฒ ๋ฐฉํฅ์ผ๋ก 1์นธ ๊ฐ๋ค.
(1,3)์์ ๋๊ฐ ์ด์์ ํ์ด์ด๋ณผ์ด ๋ง๋ฌ์ผ๋ฏ๋ก, [2-1] ์กฐ๊ฑด๋๋ก ํ๋์ ํ์ด์ด๋ณผ๋ก ํฉ์ณ์ง๊ณ , [2-2] ์กฐ๊ฑด๋๋ก 4๊ฐ์ ํ์ด์ด๋ณผ๋ก ๋๋์ด์ง๋ค. [2-3] ์กฐ๊ฑด๋๋ก ๊ฐ 4๊ฐ์ ํ์ด์ด๋ณผ์ ์ง๋์ (5+7) / 5 = 2 ์ด๊ณ , ๋ฐฉํฅ์ ํฉ์ณ์ง๋ ํ์ด์ด๋ณผ ๋ฐฉํฅ์ด 2, 6 ์ผ๋ก ๋ชจ๋ ์ง์์ด๋ฏ๋ก 0,2,4,6 ์ด ๋๋ค.
์ฝ๋
N, M, K = map(int, input().split())
fireballs = []
for _ in range(M):
_r, _c, _m, _s, _d = list(map(int, input().split()))
fireballs.append([_r-1, _c-1, _m, _s, _d])
MAP = [[[] for _ in range(N)] for _ in range(N)]
dx = [-1, -1, 0, 1, 1, 1, 0, -1]
dy = [0, 1, 1, 1, 0, -1, -1, -1]
for _ in range(K):
# ํ์ด์ด๋ณผ ์ด๋
while fireballs:
cr, cc, cm, cs, cd = fireballs.pop(0)
nr = (cr + cs * dx[cd]) % N # 1๋ฒ-N๋ฒ ํ ์ฐ๊ฒฐ๋์ด์๊ธฐ ๋๋ฌธ
nc = (cc + cs * dy[cd]) % N
MAP[nr][nc].append([cm, cs, cd])
# 2๊ฐ ์ด์์ธ์ง ์ฒดํฌ
for r in range(N):
for c in range(N):
# 2๊ฐ ์ด์์ธ ๊ฒฝ์ฐ -> 4๊ฐ์ ํ์ด์ด๋ณผ๋ก ์ชผ๊ฐ๊ธฐ
if len(MAP[r][c]) > 1:
sum_m, sum_s, cnt_odd, cnt_even, cnt = 0, 0, 0, 0, len(MAP[r][c])
while MAP[r][c]:
_m, _s, _d = MAP[r][c].pop(0)
sum_m += _m
sum_s += _s
if _d % 2:
cnt_odd += 1
else:
cnt_even += 1
if cnt_odd == cnt or cnt_even == cnt: # ๋ชจ๋ ํ์์ด๊ฑฐ๋ ๋ชจ๋ ์ง์์ธ ๊ฒฝ์ฐ
nd = [0, 2, 4, 6]
else:
nd = [1, 3, 5, 7]
if sum_m//5: # ์ง๋ 0์ด๋ฉด ์๋ฉธ
for d in nd:
fireballs.append([r, c, sum_m//5, sum_s//cnt, d])
# 1๊ฐ์ธ ๊ฒฝ์ฐ
if len(MAP[r][c]) == 1:
fireballs.append([r, c] + MAP[r][c].pop())
print(sum([f[2] for f in fireballs]))
'algorithm > baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 17406. ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4 / python ํ์ด์ฌ (0) | 2021.07.29 |
---|---|
[๋ฐฑ์ค] 21609. ์์ด ์คํ๊ต / python ํ์ด์ฌ (1) | 2021.07.11 |
[๋ฐฑ์ค] 20057. ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋ / python ํ์ด์ฌ (1) | 2021.07.05 |
[๋ฐฑ์ค] 2579. ๊ณ๋จ์ค๋ฅด๊ธฐ / python ํ์ด์ฌ (0) | 2021.06.30 |
[๋ฐฑ์ค] 2003. ์๋ค์ ํฉ 2 / python ํ์ด์ฌ / ํฌํฌ์ธํฐ, ๊ตฌ๊ฐํฉ (0) | 2021.06.30 |
- 17406 ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4
- merge ์๋ฌ
- dp
- ์ผ์ฑ๊ธฐ์ถ
- react
- Python
- ๋ณด์์ผํ
- swea
- BFS
- 21609 ์์ด ์คํ๊ต
- ๊ธฐ์ง๊ตญ์ค์น
- ์ผ์ฑ์ฝํ
- merge์๋ฌ
- dfs
- ์์ด๋๋ง์๊ธฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ธ๋ฃจํธํฌ์ค
- 20057 ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋
- ์๊ณ ๋ฆฌ์ฆ
- 2018 ์นด์นด์ค ๊ณต์ฑ
- ๋ฐฑ์ค
- git ๋ฏธ๋ฌ๋ง
- 2579 ๊ณ๋จ์ค๋ฅด๊ธฐ
- ํ์ด์ฌ
- 20056 ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ
- Total
- Today
- Yesterday