-
[λ°±μ€] 14562 νκΆμ with PythonPS 2022. 5. 12. 01:26728x90λ°μν
π BOJ 14562 νκΆμ
π‘ 쑰건
ν μ€νΈ μΌμ΄μ€μ μ C(1 β€ C β€ 100)
νμ¬ μ μ Sμ Tκ° κ³΅λ°±μ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 β€ S < T β€ 100)νκ· μ΄κ° νμ¬ ν μ μλ μ°μ λ°μ°¨κΈ°λ λκ°μ§κ° μλ€.
Aλ νμ¬ μ μλ§νΌ μ μλ₯Ό μ»μ μ μλ μμ²λ μ°μ λ°μ°¨κΈ°μ΄λ€. νμ§λ§ μλ μμ 3μ μ λμ νλ μνμ΄ μλ€.
Bλ 1μ μ μ»λ μ°μ λ°μ°¨κΈ°μ΄λ€.νκ· μ΄μ μ μ Sμ μλμ μ μ Tκ° μ£Όμ΄μ§ λ, Sμ Tκ° κ°μμ§λ μ΅μ μ°μ λ°μ°¨κΈ° νμλ₯Ό ꡬνλ λ¬Έμ
BFS(λλΉμ°μ νμ) μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin from collections import deque def solve(s, t): q = deque() q.append((0, s, t)) while q: time, s, t = q.popleft() if s == t: return time if (t + 3) >= s * 2: if use[s * 2] == -1: q.append((time + 1, s * 2, t + 3)) if use[s + 1] == -1: q.append((time + 1, s + 1, t)) for _ in range(int(stdin.readline())): s, t = map(int, stdin.readline().split()) use = [-1 for _ in range(100001)] print(solve(s, t))
π μμ λ° μ€νκ²°κ³Ό
μμ
6 10 20 2 7 15 62 10 37 11 50 34 59
μ€νκ²°κ³Ό
3 3 4 4 5 25
β¨οΈ λ¬Έμ νμ΄
BFSλ‘ μ μλ₯Ό μ»μ μ μλ μ μλ₯Ό νμ μΆκ°νλ€.
(time + 1, s * 2, t + 3)λ λ΄κ° νμ¬ μ μλ§νΌ μ μλ₯Ό μ»κ³ , μλλ°©μκ² μ μλ₯Ό 3μ λ΄μ΄μ£Όλ μν.
(time + 1, s + 1, t) λ λ΄κ° 1μ λ§νΌ μ μλ₯Ό μ»μ μ μλ μν
(νμ¬ λμ μ μ * 2)μ μνλ₯Ό λ§λ μ μ΄ μλ€λ©΄ (2)λ²μ,
(νμ¬λμ μ μ + 1)μ μνλ₯Ό λ§λ μ μ΄ μλ€λ©΄ (3)λ²μ μνλ₯Ό νμ λ£μ΄μ€λ€.νμ¬ λμ μ μμ μλλ°©μ μ μκ° κ°μΌλ©΄ return
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 17839 Baba is Rabbit with Python (0) 2022.05.13 [λ°±μ€] 20125 μΏ ν€μ μ 체 μΈ‘μ with Python (0) 2022.05.12 [λ°±μ€] 16926 λ°°μ΄ λ리기 1 with Python (0) 2022.05.11 [λ°±μ€] 14696 λ±μ§λμ΄ with Python (0) 2022.05.11 [λ°±μ€] 12970 AB with Python (0) 2022.05.09