def map_move(d, x, y):
if B[x][y] == 0:
B[x][y] = d
return d
else:
temp = B[x][y]
B[x][y] = 0
return temp
def sol(dice, x, y):
for m in move:
if m == 1:
dy = y+1
if dy < 0 or dy >= M:
continue
y = dy
dice[1] = map_move(dice[1], x, y)
dice[0], dice[1] = dice[1], dice[0]
dice[1], dice[2] = dice[2], dice[1]
dice[1], dice[5] = dice[5], dice[1]
print(dice[5])
elif m == 2:
dy = y -1
if dy < 0 or dy >= M:
continue
y = dy
dice[2] = map_move(dice[2], x, y)
dice[0], dice[2] = dice[2], dice[0]
dice[1], dice[2] = dice[2], dice[1]
dice[2], dice[5] = dice[5], dice[2]
print(dice[5])
elif m == 3:
dx = x - 1
if dx < 0 or dx >= N:
continue
x = dx
dice[3] = map_move(dice[3], x, y)
dice[0], dice[3] = dice[3], dice[0]
dice[3], dice[4] = dice[4], dice[3]
dice[3], dice[5] = dice[5], dice[3]
print(dice[5])
elif m == 4:
dx = x + 1
if dx < 0 or dx >= N:
continue
x = dx
dice[4] = map_move(dice[4], x, y)
dice[0], dice[4] = dice[4], dice[0]
dice[3], dice[4] = dice[4], dice[3]
dice[4], dice[5] = dice[5], dice[4]
print(dice[5])
N, M, X, Y, K = map(int, input().split(' '))
B = [(list(map(int, input().split(' ')))) for _ in range(N)]
move = list(map(int, input().split(' ')))
sol([0, 0, 0, 0, 0, 0], X, Y)
'알고리즘 > 백준 (Pyhthon)' 카테고리의 다른 글
[알고리즘] 백준 16918 봄버맨 / 파이썬 (0) | 2020.09.15 |
---|---|
[알고리즘] 백준 17070 파이프 옮기기 1 / 파이썬 (0) | 2020.09.15 |
[알고리즘] 백준 16500 문자열 판별 / python (0) | 2020.09.15 |
[알고리즘] 백준 16637 괄호 추가하기 / python (0) | 2020.09.10 |
[알고리즘] 백준 9019 DSLR / python, bfs (0) | 2020.09.07 |