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
- DCTTS
- 타코트론
- 노래합성
- 트레이닝
- 한국어 tts
- text-to-speech
- Vocoder
- waveglow
- melgan
- 학습
- YOLO
- 보코더
- 딥러닝
- 딥러닝 보코더
- tacotron
- singing voice synthesis
- 윈도우
- korean tts
- 한국어 음성 합성
- TTS
- 음성 합성
- deep voice
- 딥러닝 음성 합성
- you only look once
Archives
- Today
- Total
chldkato
백준 15685 드래곤 커브 (파이썬) 본문
https://www.acmicpc.net/problem/15685
이동방향을 리스트에 저장했을 때, 리스트의 맨 뒤부터 시작해서 (방향 + 1) % 4 의 방향으로 진행하는 규칙이다
예를 들어서 [1,2,3,2]가 저장되있으면 다음 세대 이동방향은 [3,0,3,2] 이다
1. x, y가 0부터 100까지 이므로 좌표를 101까지 설정한다
2. x, y, d, g를 입력받고 move 리스트에 이동 방향을 저장한다
3. 앞서 말한 규칙대로 모든 세대의 이동방향을 move에 저장한다
4. move에 저장한 이동방향을 하나씩 불러와서 이동한다
5. 모든 드래곤 커브가 완성되면 4개의 꼭지점이 드래곤 커브인 1x1 정사각형의 개수를 구한다
import sys
input = sys.stdin.readline
dx = [1, 0, -1, 0]
dy = [0, -1, 0, 1]
n = int(input())
a = [[0]*101 for _ in range(101)]
for _ in range(n):
x, y, d, g = map(int, input().split())
a[x][y] = 1
move = [d]
for _ in range(g):
temp = []
for i in range(len(move)):
temp.append((move[-i-1] + 1) % 4)
move.extend(temp)
for i in move:
nx = x + dx[i]
ny = y + dy[i]
a[nx][ny] = 1
x, y = nx, ny
ans = 0
for i in range(100):
for j in range(100):
if a[i][j]:
if a[i+1][j] and a[i][j+1] and a[i+1][j+1]:
ans += 1
print(ans)
'백준' 카테고리의 다른 글
백준 15683 감시 (파이썬) (0) | 2020.04.16 |
---|---|
백준 15684 사다리 조작 (파이썬) (0) | 2020.04.15 |
백준 15686 치킨 배달 (파이썬) (0) | 2020.04.14 |
백준 5373 큐빙 (파이썬) (0) | 2020.04.14 |
백준 5213 과외맨 (파이썬) (0) | 2020.04.12 |
Comments