문제:https://www.acmicpc.net/problem/14499
초기 주사위의 상태의 위치를 기준으로 딕셔너리 선언, 주사위를 굴릴때마다 딕셔너리 값을 바꾸는 과정을 통해 (실제로는 한칸씩 옮겨간다고 생각하면 될듯) 해결
N,M,x,y,K=map(int,input().split())
dicedict={
4:0,
1:0,
3:0,
2:0,
5:0,
6:0
}
graph=[]
movelist=[[0,1],[0,-1],[-1,0],[1,0]]
for i in range(N):
graph.append(list(map(int, input().split())))
orderlist=list(map(int, input().split()))
for o in orderlist:
nx,ny=x+movelist[o-1][0],y+movelist[o-1][1]
if 0<=nx<N and 0<=ny<M:
if o==1:
dicedict[4],dicedict[1],dicedict[3],dicedict[6]=dicedict[1],dicedict[3],dicedict[6],dicedict[4]
elif o==2:
dicedict[4],dicedict[1],dicedict[3],dicedict[6]=dicedict[6],dicedict[4],dicedict[1],dicedict[3]
elif o==3:
dicedict[2],dicedict[1],dicedict[5],dicedict[6]=dicedict[6],dicedict[2],dicedict[1],dicedict[5]
else:
dicedict[2],dicedict[1],dicedict[5],dicedict[6]=dicedict[1],dicedict[5],dicedict[6],dicedict[2]
if graph[nx][ny]==0:
graph[nx][ny]=dicedict[1]
else:
dicedict[1]=graph[nx][ny]
graph[nx][ny]=0
print(dicedict[6])
x,y=nx,ny
else:
continue