λ°μν
π€λ¬Έμ ν΄κ²°
-
S1 | κ·Έλν, BFS λ DFS
μκ³ λ¦¬μ¦ λΆλ₯μλ κ·Έλνμ BFSλ‘ λμμλλ° μ λͺ¨λ₯΄κ² κ³ , DFSλ‘ ν΄κ²°νλ€.
λͺ©ν μ«μλΆν° λκ°μ§ κ²½μ°λ‘ λλ μ λ€μ΄κ°λ€.
- 맨 λμ μ«μκ° 1μ΄λ©΄ 1μ λ²λ¦¬κ³ μ¬κ·
- 맨 λμ μ«μκ° 1μ΄ μλ λ 2λ‘ λλμ΄ λ¨μ΄μ§λ©΄ 2λ‘ λλκ³ μ¬κ·
ν μ€νΈ μΌμ΄μ€ 3λ²μ μμλ‘ νκ² λ€ ( 100, 40021 )
- 40021: 맨 λμ μ«μκ° 1μ΄λ―λ‘ 1μ λ²λ¦°λ€ 40021 => 4002
체ν¬νλ λ°©λ²μ 10μΌλ‘ λλ λλ¨Έμ§, λ²λ¦¬λ λ°©λ²μ 10μΌλ‘ λλ λͺ« - 4002: 맨 λμ μ«μκ° 1μ΄ μλκ³ 2λ‘ λλμ΄ λ¨μ΄μ§λ―λ‘ 2λ‘ λλλ€. 4002 => 2001
- 2001: λ²λ¦°λ€. 2001 => 200
- 200: λλλ€. 200 => 100
- 100: 100 == A μ΄λ―λ‘ κ·Έλ§! κ³Όμ μ νμλ₯Ό μΈλ³΄λ©΄ 4μ΄λ€.
- λ΅μ +1μ νλ―λ‘ 5
ν μ€νΈ μΌμ΄μ€ 2λ²μ μμλ‘ νκ² λ€ ( 4, 42 )
- 42: 2λ‘ λλλ€. 42 => 21
- 21: 1μ λ²λ¦°λ€. 21 => 2
- 2: 2 < A μ΄λ―λ‘ νλ½!
- -1 μΆλ ₯
π¨
π»μμ€ μ½λ
def solution(A, B):
answer = 1
def cal(num):
nonlocal answer
if num > A:
if num % 10 == 1:
answer += 1
cal(num // 10)
else:
if num % 2 == 0:
answer += 1
cal(num // 2)
else:
answer = -1
return
elif num < A:
answer = -1
return
cal(B)
print(answer)
if __name__ == "__main__":
A0, B0 = map(int, input().split())
solution(A0, B0)
πλ¬Έμ νμΈ
μΆμ²: BACKJOON ONLINE JUDGE
λ§ν¬: https://www.acmicpc.net/problem/16953
λ¬Έμ
μ μ Aλ₯Ό Bλ‘ λ°κΎΈλ €κ³ νλ€. κ°λ₯ν μ°μ°μ λ€μκ³Ό κ°μ λ κ°μ§μ΄λ€.
- 2λ₯Ό κ³±νλ€.
- 1μ μμ κ°μ₯ μ€λ₯Έμͺ½μ μΆκ°νλ€.
Aλ₯Ό Bλ‘ λ°κΎΈλλ° νμν μ°μ°μ μ΅μκ°μ ꡬν΄λ³΄μ.
μ λ ₯
첫째 μ€μ A, B (1 ≤ A < B ≤ 10^9)κ° μ£Όμ΄μ§λ€.
μΆλ ₯
Aλ₯Ό Bλ‘ λ°κΎΈλλ° νμν μ°μ°μ μ΅μκ°μ 1μ λν κ°μ μΆλ ₯νλ€. λ§λ€ μ μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
λ°μν
'Algorithm Problem > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] λ°±μ€ - 2617. κ΅¬μ¬ μ°ΎκΈ° (0) | 2020.09.19 |
---|---|
[python] SWEA - 6019. κΈ°μ°¨ μ¬μ΄μ ν리 (2) | 2020.09.18 |
[python] SWEA - 1248. 곡ν΅μ‘°μ (0) | 2020.09.17 |
[python] νλ‘κ·Έλλ¨Έμ€ - 3 x n νμΌλ§ (0) | 2020.09.17 |
[python] λ°±μ€ - 9658. λ κ²μ4 (0) | 2020.09.16 |