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 |
Tags
- 학습
- 한국어 음성 합성
- text-to-speech
- Vocoder
- 딥러닝 음성 합성
- 딥러닝
- TTS
- waveglow
- YOLO
- 한국어 tts
- you only look once
- singing voice synthesis
- melgan
- 보코더
- korean tts
- 딥러닝 보코더
- tacotron
- 음성 합성
- 트레이닝
- 윈도우
- 노래합성
- DCTTS
- 타코트론
- deep voice
Archives
- Today
- Total
chldkato
백준 17780 새로운 게임 (파이썬) 본문
https://www.acmicpc.net/problem/17780
1. chess_map에는 체스말을 번호를 쌓인 순으로 저장하고 chess에는 말의 좌표와 방향을 저장한다
2. 말의 번호를 순서대로 move에 입력하여 이동한다
3. 입력받은 말의 번호와 말이 있는 좌표의 맨 밑에 있는 말이 번호가 다르면 return 한다
4. 다음 칸이 2이거나 범위 밖인 경우를 먼저 처리한다
방향을 전환해도 2이거나 범위 밖이면 return 한다
5. chess_set에 이동할 체스 묶음을 저장하고 chess_map의 해당 좌표를 초기화한다
6. chess_set에 있는 말들을 다음 칸으로 이동하고 말의 좌표를 갱신한다
7. 쌓인 말의 개수가 4 이상이면 1을 리턴하고 cnt를 출력한다
import sys
input = sys.stdin.readline
dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]
def move(chess_num):
x, y, z = chess[chess_num]
if chess_num != chess_map[x][y][0]:
return 0
nx = x + dx[z]
ny = y + dy[z]
if not 0 <= nx < n or not 0 <= ny < n or a[nx][ny] == 2:
if 0 <= z <= 1:
nz = (z+1) % 2
else:
nz = (z-1) % 2 + 2
chess[chess_num][2] = nz
nx = x + dx[nz]
ny = y + dy[nz]
if not 0 <= nx < n or not 0 <= ny < n or a[nx][ny] == 2:
return 0
chess_set = []
chess_set.extend(chess_map[x][y])
chess_map[x][y] = []
if a[nx][ny] == 1:
chess_set = chess_set[-1::-1]
for i in chess_set:
chess_map[nx][ny].append(i)
chess[i][:2] = [nx, ny]
if len(chess_map[nx][ny]) >= 4:
return 1
return 0
n, k = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
chess_map = [[[] for _ in range(n)] for _ in range(n)]
chess = [0 for _ in range(k)]
for i in range(k):
x, y, z = map(int, input().split())
chess_map[x-1][y-1].append(i)
chess[i] = [x-1, y-1, z-1]
cnt = 1
while cnt <= 1000:
for i in range(k):
flag = move(i)
if flag:
print(cnt)
sys.exit()
cnt += 1
print(-1)
'백준' 카테고리의 다른 글
백준 17825 주사위 윷놀이 (파이썬) (0) | 2020.03.06 |
---|---|
백준 17822 원판 돌리기 (파이썬) (0) | 2020.03.06 |
백준 17837 새로운 게임 2 (파이썬) (0) | 2020.03.06 |
백준 17779 게리맨더링 2 (파이썬) (0) | 2020.03.05 |
백준 17140 이차원 배열과 연산 (파이썬) (0) | 2020.03.04 |
Comments