244.サイコロを投げる
12281 ワード
白駿
1. Python
import sys
input = sys.stdin.readline
n, m, x, y, k = map(int, input().split())
#1, 2, 3, 4, 5, 6
dice = [0] * 6
board = [list(map(int, input().split())) for _ in range(n)]
# 1: 동, 2:서, 3:북, 4: 남
mlist = list(map(int, input().split()))
dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]
for i in range(k):
d = mlist[i] - 1
nx = x + dx[d]
ny = y + dy[d]
if 0 <= nx < n and 0 <= ny < m:
if d == 0:
dice[0], dice[2], dice[3], dice[5] = dice[3], dice[0], dice[5], dice[2]
elif d== 1:
dice[0], dice[2], dice[3], dice[5] = dice[2], dice[5], dice[0], dice[3]
elif d == 2:
dice[0], dice[1], dice[4], dice[5] = dice[4], dice[0], dice[5], dice[1]
else:
dice[0], dice[1], dice[4], dice[5] = dice[1], dice[5], dice[0], dice[4]
if board[nx][ny] == 0:
board[nx][ny] = dice[5]
else:
dice[5] = board[nx][ny]
board[nx][ny] = 0
x, y = nx, ny
print(dice[0])
Reference
この問題について(244.サイコロを投げる), 我々は、より多くの情報をここで見つけました https://velog.io/@corone_hi/244.-주사위-굴리기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol