[λ°±μ€€] 13549. μˆ¨λ°”κΌ­μ§ˆ3/Python - Gold5

2025. 8. 15. 15:20Β·Coding Test/Algorithms

β“λ¬Έμ œ

https://www.acmicpc.net/problem/13549

μ„±λŠ₯ μš”μ•½

λ©”λͺ¨λ¦¬: 115084 KB, μ‹œκ°„: 232 ms

λΆ„λ₯˜

κ·Έλž˜ν”„ 이둠, κ·Έλž˜ν”„ 탐색, λ„ˆλΉ„ μš°μ„  탐색, μ΅œλ‹¨ 경둜, 데이크슀트라, 0-1 λ„ˆλΉ„ μš°μ„  탐색

 

문제 μ„€λͺ…

μˆ˜λΉˆμ΄λŠ” 동생과 μˆ¨λ°”κΌ­μ§ˆμ„ ν•˜κ³  μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” ν˜„μž¬ 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” κ±·κ±°λ‚˜ μˆœκ°„μ΄λ™μ„ ν•  수 μžˆλ‹€. λ§Œμ•½, 수빈이의 μœ„μΉ˜κ°€ X일 λ•Œ κ±·λŠ”λ‹€λ©΄ 1초 후에 X-1 λ˜λŠ” X+1둜 μ΄λ™ν•˜κ²Œ λœλ‹€. μˆœκ°„μ΄λ™μ„ ν•˜λŠ” κ²½μš°μ—λŠ” 0초 후에 2*X의 μœ„μΉ˜λ‘œ μ΄λ™ν•˜κ²Œ λœλ‹€.

μˆ˜λΉˆμ΄μ™€ λ™μƒμ˜ μœ„μΉ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μˆ˜λΉˆμ΄κ°€ 동생을 찾을 수 μžˆλŠ” κ°€μž₯ λΉ λ₯Έ μ‹œκ°„μ΄ λͺ‡ 초 후인지 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

βœπŸ»ν’€μ΄

거리λ₯Ό μ „λΆ€ INF둜 μ΄ˆκΈ°ν™”ν•œ ν›„ μ‹œμž‘μ λ§Œ 0으둜 μ΄ˆκΈ°ν™”ν•œλ‹€. 그리고 νž™ 큐에 μ‹œμž‘ μœ„μΉ˜ Nκ³Ό ν˜„μž¬ μ‹œκ°„ 0을 κΈ°λ‘ν•œλ‹€.

이 κ²½μš°μ—λŠ” μ •μ μ˜ κ°œμˆ˜κ°€ μ •ν•΄μ Έ μžˆλŠ” 것이 μ•„λ‹ˆλ―€λ‘œ νž™ 큐 μ•ˆμ— μ›μ†Œκ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ•ˆ ν•˜λŠ”μ§€ μ—¬λΆ€λ‘œ while문을 μ‹€ν–‰ν•œλ‹€.
λ‹€μŒ μœ„μΉ˜κ°€ 0 μ—μ„œ 100,000 μ‚¬μ΄μ΄λ©΄μ„œ 더 적게 κ±Έλ¦¬λŠ” μ‹œκ°„μ„ λ‹€μŒ μœ„μΉ˜μ— κΈ°λ‘ν•œλ‹€. 그리고 λ‹€μŒ μœ„μΉ˜μ™€ μ‹œκ°„μ„ νž™ 큐에 λ„£λŠ”λ‹€.
μ΄λ ‡κ²Œ ν•˜λ©΄ νž™ 큐에 μ›μ†Œκ°€ μžˆμ„ λ•ŒκΉŒμ§€ ν™•μΈν•˜κ³  νž™ 큐가 λΉ„μ–΄μžˆλ‹€λ©΄ 이제 동생을 찾을 수 μžˆλŠ” κ°€μž₯ λΉ λ₯Έ μ‹œκ°„μ„ 좜λ ₯ν•˜λ©΄ λœλ‹€.

πŸ’»μ½”λ“œ

import sys
from heapq import heappush, heappop

input = sys.stdin.readline
INF = 1e9
N, K = map(int, input().split())
time = [INF] * 100001

def dijkstra():
    time[N] = 0
    move = []
    heappush(move, (0, N))

    while move:
        t, x = heappop(move)
        for nt, nx in [(t, x*2), (t+1, x+1), (t+1, x-1)]:
            if 0 <= nx <= 100000 and time[nx] > nt:
                time[nx] = nt
                heappush(move, (nt, nx))

dijkstra()
print(time[K])

πŸ“ν›„κΈ°

계속 λŸ°νƒ€μž„ μ—λŸ¬κ°€ λ‚˜μ„œ μ™œ κ·ΈλŸ°κ°€ ν–ˆλŠ”λ° heapqκ°€ λ¨Όμ € μ†Œμ§„λ˜λŠ” κ²½μš°μ™€ x λ²”μœ„κ°€ λ²—μ–΄λ‚˜λŠ” κ±Έ κ³ λ €ν•˜μ§€ μ•Šμ•„μ„œ μ—λŸ¬κ°€ 났닀...κ·Έλž˜μ„œ 쀑간에 BFS둜 λ°”κΏ”λ΄€λŠ”λ° λ‚œ 아무리 해도 μ•ˆ λΌμ„œ κ²°κ΅­ λ‹€μ‹œ heapq둜 성곡...

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'Coding Test > Algorithms' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[λ°±μ€€] 1717. μ§‘ν•©μ˜ ν‘œν˜„/Python - Gold5  (0) 2025.08.17
[λ°±μ€€] 1197. μ΅œμ†Œ μŠ€νŒ¨λ‹ 트리/Python - Gold4  (1) 2025.08.16
[λ°±μ€€] 11657. νƒ€μž„λ¨Έμ‹ /Python - Gold4  (1) 2025.08.14
[λ°±μ€€] 9655. 돌 κ²Œμž„/Python - Silver5  (2) 2025.08.11
[λ°±μ€€] 2630. 색쒅이 λ§Œλ“€κΈ°/Python - Silver2  (0) 2025.08.10
'Coding Test/Algorithms' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [λ°±μ€€] 1717. μ§‘ν•©μ˜ ν‘œν˜„/Python - Gold5
  • [λ°±μ€€] 1197. μ΅œμ†Œ μŠ€νŒ¨λ‹ 트리/Python - Gold4
  • [λ°±μ€€] 11657. νƒ€μž„λ¨Έμ‹ /Python - Gold4
  • [λ°±μ€€] 9655. 돌 κ²Œμž„/Python - Silver5
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My FutureπŸ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (174)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (88)
        • Algorithms (80)
        • SQL (7)
      • ETC (5)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 곡지사항

  • 링크

    • Lucy's Instagram
    • Lucy's GitHub
  • 인기 κΈ€

  • νƒœκ·Έ

    programmers
    λ„ˆλΉ„μš°μ„ νƒμƒ‰
    λ„€νŠΈμ›Œν¬ 기초 지식
    μ…Έ 슀크립트
    λ¦¬λˆ…μŠ€
    ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
    K8s
    Shell
    μΏ λ²„λ„€ν‹°μŠ€
    cs 기초 지식 정리
    Baekjoon
    μžλ°”
    network
    λ„€νŠΈμ›Œν¬
    λ°±μ€€
    docker
    ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
    μ‰˜ 슀크립트
    Kubernetes
    λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„° 2κΈ‰
    도컀
    μ˜€λΈ”μ™„
    dfs
    Shell Script
    λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ°
    bfs
    λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„°
    Java
    Linux
    μ½”λ”©ν…ŒμŠ€νŠΈ 곡뢀
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
The Engineer, Lucy
[λ°±μ€€] 13549. μˆ¨λ°”κΌ­μ§ˆ3/Python - Gold5
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”