πŸ‹ 문제링크


https://www.acmicpc.net/problem/19237

🍎 μ½”λ“œ 제좜 기둝 (λ©”λͺ¨λ¦¬ 및 μ‹œκ°„)


제좜 λ‚ μ§œ

2021/04/20 β†’ 2021/04/22

λ©”λͺ¨λ¦¬

KB

μ‹œκ°„

ms

πŸ₯ λ©”λͺ¨


πŸ“ λ¬Έμ œν’€μ΄


μž…λ ₯κ°’ 정리

  1. shark_info = [xμ’Œν‘œ, yμ’Œν‘œ, λ°©ν–₯, 생사여뢀] λ₯Ό μ €μž₯ν•˜λŠ” λ°°μ—΄
  2. shark_smell = [μƒμ–΄μ˜ 번호, μœ μ§€μ‹œκ°„] 을 μ €μž₯ν•˜λŠ” λ°°μ—΄
  3. shark_prio = 각 λ°©ν–₯λ§ˆλ‹€ μš°μ„ μˆœμœ„λ₯Ό μ €μž₯ν•˜λŠ” λ°°μ—΄

μ˜ˆμ‹œ)

shark_prio[0] = [[2, 3, 1, 4], [4, 1, 2, 3],[3, 4, 2, 1], [4, 3, 1, 2]]

shark_prio[1] = [[x, x, x, x], [x, x, x, x],[x, x, x, x], [x, x, x, x]]

shark_prio[2] = [[x, x, x, x], [x, x, x, x],[x, x, x, x], [x, x, x, x]]

shark_prio[3] = [[x, x, x, x], [x, x, x, x],[x, x, x, x], [x, x, x, x]]

DIRECTION = 2
LIVE = 1
DEAD = 0

N, M, K = map(int, input().split())
shark_info = [[] for _ in range(M)]
shark_smell = [[[0, 0] for _ in range(N)] for _ in range(N)]
shark_prio = [[] for _ in range(M)]

# μƒμ–΄μ˜ [xμ’Œν‘œ, yμ’Œν‘œ, λ°©ν–₯, 생사여뢀]λ₯Ό μ €μž₯ν•˜κ³  μžˆλŠ” λ°°μ—΄ μž…λ ₯λ°›κΈ°
def get_shark_info():
    global N, M, shark_info, LIVE
    for i in range(N):
        _map = list(map(int, input().split()))
        for j in range(N):
            if _map[j] != 0:
                shark_info[_map[j]-1].append(i)
                shark_info[_map[j]-1].append(j)

    _dir = list(map(int, input().split()))
    for i in range(M):
        shark_info[i].append(_dir[i]-1)
        shark_info[i].append(LIVE)

# μƒμ–΄μ˜ μš°μ„ μˆœμœ„λ₯Ό μ €μž₯ν•˜λŠ” λ°°μ—΄ μž…λ ₯λ°›κΈ°
def get_shark_prio():
    global N, M, shark_prio
    for i in range(M):
        for j in range(4):
            _dir = list(map(int, input().split()))
            shark_prio[i].append(_dir)

get_shark_info()
get_shark_prio()

풀이 μˆœμ„œ