-
[백준 문제풀이] 얼렁뚱땅 14499 주사위 굴리기 풀이얼렁뚱땅 백준 문제풀이 2022. 10. 11. 01:28
https://www.acmicpc.net/problem/14499
14499번: 주사위 굴리기
첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지
www.acmicpc.net
주사위 돌리는거 도대체 어떻게 이런 아이디어가 나올까?
좀 더 고민했어야 했는데 넘 졸려서 으앙 잔다 뿅
n, m, x, y, k = map(int,input().split()) arr = [list(map(int,input().split())) for i in range(n)] to_do_list = list(map(int,input().split())) #동 서 북 남 dx = [0, 0, 0, -1, 1] dy = [0, 1, -1, 0, 0] def turn_dice(dir) : # 동 서 북 남 global dice a, b, c, d, e, f = dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] if dir == 1 : dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] = d, b, a, f, e, c elif dir == 2 : dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] = c, b, f, a, e, d elif dir == 3 : dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] = e, a, c, d, f, b else : dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] = b, f, c, d, a, e dice = [0, 0, 0, 0, 0, 0] ct = 1 for i in range(k) : to_do = to_do_list[i] # 주사기가 움직일 수 있나 nx = x + dx[to_do] ny = y + dy[to_do] if 0<=nx<n and 0<=ny<m : turn_dice(to_do) if arr[nx][ny] == 0 : arr[nx][ny] = dice[-1] else : dice[-1] = arr[nx][ny] arr[nx][ny] = 0 x = nx y = ny print(dice[0])
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 3190 뱀 풀이 (0) 2022.10.12 [백준 문제풀이] 얼렁뚱땅 14890 경사로 풀이 (0) 2022.10.12 [백준 문제풀이] 얼렁뚱땅 17114 미세먼지 안녕! 풀이 (0) 2022.10.10 [백준 문제풀이] 얼렁뚱땅 1890 점프 풀이 (0) 2022.10.07 [백준 문제풀이] 얼렁뚱땅 2206 벽 부수고 이동하기 풀이 (0) 2022.10.07