Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- deep voice
- 딥러닝
- DCTTS
- TTS
- 보코더
- 딥러닝 보코더
- 타코트론
- melgan
- waveglow
- singing voice synthesis
- tacotron
- 학습
- YOLO
- 노래합성
- 트레이닝
- 한국어 음성 합성
- korean tts
- text-to-speech
- you only look once
- 윈도우
- 음성 합성
- 한국어 tts
- Vocoder
- 딥러닝 음성 합성
Archives
- Today
- Total
chldkato
백준 14499 주사위 굴리기 (파이썬) 본문
https://www.acmicpc.net/problem/14499
문제에 나와있는대로 인덱스를 정한 리스트를 만들어서 시뮬레이션한다
dx, dy 이동방향 순서: 동 서 북 남
dice 주사위 순서: 위 북 동 서 남 아래
1. 리스트 order에는 굴릴 방향을 순서대로 입력하고 리스트 dice는 0으로 초기화한다
2. 명령을 하나씩 불러와서 주사위를 굴린다
범위를 벗어나면 continue해서 아무행동도 하지않는다
3. dice의 인덱스와 방향을 잘 고려해서 굴린방향에 맞춰 dice를 갱신한다
4. 현재 칸이 0이면 주사위 아랫면의 숫자로 바꿔준다
0이 아니면 칸의 숫자를 주사위 아랫면으로 옮겨오고 칸의 숫자를 0으로 바꿔준다
5. 주사위 윗칸의 숫자를 출력한다
import sys
input = sys.stdin.readline
dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]
n, m, x, y, k = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
order = list(map(int, input().split()))
dice = [0 for _ in range(6)]
for i in range(k):
dir = order[i] - 1
nx = x + dx[dir]
ny = y + dy[dir]
if not 0 <= nx < n or not 0 <= ny < m:
continue
if dir == 0:
dice[0], dice[2], dice[3], dice[5] = dice[3], dice[0], dice[5], dice[2]
elif dir == 1:
dice[0], dice[2], dice[3], dice[5] = dice[2], dice[5], dice[0], dice[3]
elif dir == 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 a[nx][ny] == 0:
a[nx][ny] = dice[5]
else:
dice[5] = a[nx][ny]
a[nx][ny] = 0
x, y = nx, ny
print(dice[0])
'백준' 카테고리의 다른 글
백준 3190 뱀 (파이썬) (0) | 2020.04.19 |
---|---|
백준 13458 시험 감독 (파이썬) (0) | 2020.04.19 |
백준 14500 테트로미노 (파이썬) (0) | 2020.04.19 |
백준 14501 퇴사 (파이썬) (0) | 2020.04.18 |
백준 14503 로봇 청소기 (파이썬) (0) | 2020.04.17 |
Comments