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 |
Tags
- melgan
- 보코더
- you only look once
- korean tts
- 딥러닝 음성 합성
- 윈도우
- deep voice
- 노래합성
- tacotron
- Vocoder
- 딥러닝
- 학습
- 트레이닝
- 딥러닝 보코더
- waveglow
- YOLO
- singing voice synthesis
- 한국어 음성 합성
- 음성 합성
- 타코트론
- DCTTS
- text-to-speech
- TTS
- 한국어 tts
Archives
- Today
- Total
chldkato
백준 1697 숨바꼭질 (파이썬) 본문
https://www.acmicpc.net/problem/1697
1697번: 숨바꼭질
문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지
www.acmicpc.net
1. 수빈이가 있는 위치를 bfs에 입력한다
2. 현재 위치에서 주어진 조건에 맞춰 갈 수 있는 점을 구하고 이동할 수 있으면 큐에 넣는다
3. 동생의 위치에 도달하면 시간을 출력
from collections import deque
def bfs():
while q:
x = q.popleft()
if x == k:
print(c[k]-1)
exit()
if x*2 < limit:
if c[x*2] == 0:
q.append(x*2)
c[x*2] = c[x] + 1
if x-1 >= 0:
if c[x-1] == 0:
q.append(x-1)
c[x-1] = c[x] + 1
if x+1 < limit:
if c[x+1] == 0:
q.append(x+1)
c[x+1] = c[x] + 1
limit = 200001
n, k = map(int, input().split())
c = [0 for _ in range(limit)]
c[n] = 1
q = deque()
q.append(n)
bfs()
'백준' 카테고리의 다른 글
백준 13460 구슬 탈출 2 (파이썬) (3) | 2020.02.16 |
---|---|
백준 10026 적록색약 (파이썬) (2) | 2020.02.16 |
백준 2468 안전 영역 (파이썬) (0) | 2020.02.16 |
백준 2583 영역 구하기 (파이썬) (0) | 2020.02.16 |
백준 6603 로또 (파이썬) (3) | 2020.02.16 |
Comments