From 5b6e1504d662b826095b31af5b818a687ab86d0b Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Wed, 22 Oct 2025 00:27:40 +0900 Subject: [PATCH] 20251021 baekjoon --- code_study/Baekjoon/python/16236_1.py | 54 ++++++++++++++++++++++++ code_study/Baekjoon/python/16236_2.py | 61 +++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 code_study/Baekjoon/python/16236_1.py create mode 100644 code_study/Baekjoon/python/16236_2.py diff --git a/code_study/Baekjoon/python/16236_1.py b/code_study/Baekjoon/python/16236_1.py new file mode 100644 index 0000000..0852b08 --- /dev/null +++ b/code_study/Baekjoon/python/16236_1.py @@ -0,0 +1,54 @@ +import heapq + +area = [] +shark = (0,0) +sharkSize = 2 +moveTime = 0 +eatCount = 0 + +N = int(input()) + +for i in range(N) : + + area.append(list(map(int, input().split()))) + + for j in range(N) : + + if area[i][j] == 9 : + shark = (i,j) + area[i][j] = 0 + +while True : + + visited = [[False]*N for _ in range(N)] + visited[shark[0]][shark[1]] = True + pq = [(0, shark[0], shark[1])] + + while pq : + + ct, cy, cx = heapq.heappop(pq) + + if area[cy][cx] != 0 and area[cy][cx] < sharkSize : + + area[cy][cx] = 0 + eatCount += 1 + moveTime += ct + shark = (cy, cx) + + if eatCount == sharkSize : + eatCount = 0 + sharkSize += 1 + + break + + for nx, ny in [(cx,cy-1), (cx-1,cy), (cx+1,cy), (cx,cy+1)] : + + if 0<=nx