solution
# 14499, 주사위 굴리기
import sys
# 1:동 2:서 3:북 4:남
N, M, x, y, K = map(int, sys.stdin.readline().split())
coor = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
dir = list(map(int, sys.stdin.readline().split()))
dice = [0] * 7
for i in range(K):
# 동
if dir[i] == 1:
if y + 1 < M:
dice[4], dice[1], dice[3], dice[6] = dice[6], dice[4], dice[1], dice[3]
if coor[x][y + 1] == 0:
coor[x][y + 1] = dice[6]
else:
dice[6] = coor[x][y + 1]
coor[x][y + 1] = 0
y+=1
print(dice[1])
# 서
elif dir[i] == 2:
if y - 1 >= 0:
dice[4], dice[1], dice[3], dice[6] = dice[1], dice[3], dice[6], dice[4]
if coor[x][y - 1] == 0:
coor[x][y - 1] = dice[6]
else:
dice[6] = coor[x][y - 1]
coor[x][y - 1] = 0
y-=1
print(dice[1])
# 북
elif dir[i] == 3:
if x - 1 >= 0:
dice[2], dice[1], dice[5], dice[6] = dice[1], dice[5], dice[6], dice[2]
if coor[x - 1][y] == 0:
coor[x - 1][y] = dice[6]
else:
dice[6] = coor[x - 1][y]
coor[x - 1][y] = 0
x-=1
print(dice[1])
# 남
else:
if x + 1 < N:
dice[2], dice[1], dice[5], dice[6] = dice[6], dice[2], dice[1], dice[5]
if coor[x + 1][y] == 0:
coor[x + 1][y] = dice[6]
else:
dice[6] = coor[x + 1][y]
coor[x + 1][y] = 0
x+=1
print(dice[1])
문제 출처 www.acmicpc.net/problem/14499
'알고리즘 > 구현' 카테고리의 다른 글
파이썬 | 프로그래머스 | 숫자 게임 (0) | 2020.11.05 |
---|---|
파이썬 | 백준 | 1063 | 킹 (0) | 2020.11.04 |
파이썬 | 프로그래머스 | 방문 길이 (0) | 2020.11.01 |
파이썬 | 프로그래머스 | 소수 만들기 (0) | 2020.10.29 |
파이썬 | 프로그래머스 | 스킬트리 | for-else문 (0) | 2020.10.29 |