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
- 학습
- korean tts
- deep voice
- melgan
- 노래합성
- 한국어 음성 합성
- 딥러닝
- 딥러닝 음성 합성
- 트레이닝
- 음성 합성
- you only look once
- tacotron
- waveglow
- 딥러닝 보코더
- TTS
- 윈도우
- YOLO
- 한국어 tts
- 보코더
- Vocoder
- text-to-speech
- singing voice synthesis
- DCTTS
- 타코트론
Archives
- Today
- Total
chldkato
백준 2251 물통 (파이썬) 본문
https://www.acmicpc.net/problem/2251
1. 순열을 이용해서 물이 이동 가능한 경로를 저장해둔다
2. 물을 옮길 물통 번호(from)와 넣을 물통(to) 번호을 불러온다
3. 현재 0번 물통이 비었으면 2번 물통의 값을 ans에 기록한다
4. to가 넘치면 안되므로 한계치를 넘는지 검사한다
5. 조건에 맞게 from과 to의 물 양을 설정한다
6. bfs로 과정을 반복한 후 ans배열에 값이 있으면 해당 인덱스를 출력한다
from collections import deque
from itertools import permutations
import sys, copy
input = sys.stdin.readline
def bfs(x, y, z):
q.append([x, y, z])
check.append([x, y, z])
while q:
k = q.popleft()
if k[0] == 0:
ans[k[2]] = 1
for i in range(len(t)):
nfrom = t[i][0]
nto = t[i][1]
nk = copy.deepcopy(k)
if k[nfrom] + k[nto] > limit[nto]:
nk[nfrom] = k[nfrom] + k[nto] - limit[nto]
nk[nto] = limit[nto]
else:
nk[nfrom] = 0
nk[nto] = k[nfrom] + k[nto]
if nk not in check:
check.append(nk)
q.append(nk)
a, b, c = map(int, input().split())
q, check, limit = deque(), [], [a, b, c]
ans = [0 for _ in range(c+1)]
t = list(permutations([0, 1, 2], 2))
bfs(0, 0, c)
for i in range(c+1):
if ans[i] == 1:
print(i, end=' ')
'백준' 카테고리의 다른 글
백준 2458 키 순서 (파이썬) (1) | 2020.02.18 |
---|---|
백준 6593 상범 빌딩 (파이썬) (2) | 2020.02.18 |
백준 9372 상근이의 여행 (파이썬) (0) | 2020.02.18 |
백준 5427 불 (파이썬) (0) | 2020.02.17 |
백준 1600 말이 되고픈 원숭이 (파이썬) (0) | 2020.02.17 |
Comments