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
- 노래합성
- 윈도우
- 딥러닝
- 음성 합성
- singing voice synthesis
- 한국어 음성 합성
- you only look once
- tacotron
- 딥러닝 보코더
- 딥러닝 음성 합성
- 학습
- TTS
- 보코더
- waveglow
- 타코트론
- deep voice
- YOLO
- korean tts
- 한국어 tts
- Vocoder
- DCTTS
- text-to-speech
- melgan
- 트레이닝
Archives
- Today
- Total
chldkato
백준 9019 DSLR (파이썬) 본문
https://www.acmicpc.net/problem/9019
9019번: DSLR
문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경
www.acmicpc.net
1. 주어진 조건에 맞게 이동할 수 있도록 bfs 안의 조건문을 설계
2. 주어진 입력으로부터 조건에 맞게 bfs로 경로를 저장하며 이동
3. 목표값에 도달하면 저장된 경로를 출력
from collections import deque
import sys
input = sys.stdin.readline
def bfs(x):
q.append([x, ""])
c[x] = 1
while q:
x, d = q.popleft()
if x == y:
return d
if 2*x <= 9999 and c[2*x] == 0:
c[2*x] = 1
q.append([2*x, d+'D'])
if 2*x > 9999 and c[(2*x) % 10000] == 0:
c[(2*x) % 10000] = 1
q.append([(2*x) % 10000, d+'D'])
if x-1 >= 0 and c[x-1] == 0:
c[x-1] = 1
q.append([x-1, d+'S'])
if x-1 < 0 and c[9999] == 0:
c[9999] = 1
q.append([9999, d+'S'])
nx = int((x % 1000) * 10 + x / 1000)
if c[nx] == 0:
c[nx] = 1
q.append([nx, d+'L'])
nx = int((x % 10) * 1000 + x / 10)
if c[nx] == 0:
c[nx] = 1
q.append([nx, d+'R'])
tc = int(input())
while tc:
c = [0 for _ in range(10000)]
q = deque()
x, y = map(int, input().split())
ans = bfs(x)
print(ans)
tc -= 1
'백준' 카테고리의 다른 글
백준 1967 트리의 지름 (파이썬) (1) | 2020.02.17 |
---|---|
백준 1963 소수 경로 (파이썬) (0) | 2020.02.17 |
백준 2146 다리 만들기 (파이썬) (0) | 2020.02.17 |
백준 2573 빙산 (파이썬) (0) | 2020.02.17 |
백준 5014 스타트링크 (파이썬) (0) | 2020.02.17 |
Comments