[๋ฐฑ์ค€] 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 (python ํŒŒ์ด์ฌ)

2022. 7. 10. 23:22ยท๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

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

 

13913๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 4

์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ

www.acmicpc.net

์ˆจ๋ฐ”๊ผญ์งˆ ์‹œ๋ฆฌ์ฆˆ ๋งˆ์ง€๋ง‰ ์ˆจ๋ฐ”๊ผญ์งˆ 1 ๋จผ์ € ํ’€์–ด๋ณด๋Š” ๊ฒŒ ์ข‹๋‹ค.


์•„์ด๋””์–ด

1. bfs

  • ํ์— x +1, x - 1, x * 2๋ฅผ ์กฐ๊ฑด์— ๋งž์œผ๋ฉด ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
  • ํ์— ์œ„์น˜์™€ ์‹œ๊ฐ„ ๊ทธ๋ฆฌ๊ณ  ์ง€๋‚˜์˜จ ๊ธธ๋„ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค.
  • ๋„์ฐฉํ•˜๋ฉด ๋„์ฐฉ ์‹œ๊ฐ„๊ณผ ๊ฒฝ๋กœ๋ฅผ ๋ฆฌํ„ด ํ›„ ์ถœ๋ ฅ.

์ „์ฒด ์ฝ”๋“œ

from collections import deque
N, K = map(int,input().split())
visited = [False] * (200001)

def bfs(n):

    deq = deque()
    deq.append([n, 0,[n]])
    visited[n] = True

    if n > K:
        return n - K, [int(x) for x in range(n,K - 1,-1)]


    while deq:
        x, count, road = deq.popleft()

        if x == K:
            return count, road

        arr = [x - 1, x + 1, x * 2]
        for a in arr:
            if 0 <= a <= 100000 and visited[a] == False:
                visited[a] = True
                r = road + [a]
                deq.append([a, count + 1, r])

ans_count, ans_road = bfs(N)

print(ans_count)
for path in ans_road:
    print(path,end=' ')

์ฝ”๋“œ ์„ค๋ช…

 

def bfs(n):

    deq = deque()
    deq.append([n, 0,[n]])
    visited[n] = True

    if n > K:
        return n - K, [int(x) for x in range(n,K - 1,-1)]


    while deq:
        x, count, road = deq.popleft()

        if x == K:
            return count, road

        arr = [x - 1, x + 1, x * 2]
        for a in arr:
            if 0 <= a <= 100000 and visited[a] == False:
                visited[a] = True
                r = road + [a]
                deq.append([a, count + 1, r])

๊ธฐ์กด ์ˆจ๋ฐ”๊ผญ์งˆ ๋ฌธ์ œ์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ•  ๊ฑด ๊ฒฝ๋กœ๋งŒ ๊ฐ™์ด ์ €์žฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทผ๋ฐ ๊ทธ๋ƒฅ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 100000 0 ๊ฐ™์€ ์ž…๋ ฅ์ด ๋“ค์–ด์˜ค๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋œฌ๋‹ค.

 

์ด๋Ÿด ๋•Œ๋Š” ์ด๋ฏธ N๋ณด๋‹ค K๊ฐ€ ํฐ ๊ฒฝ์šฐ ๋”ฐ๋กœ ์ƒ๊ฐํ•ด์ค€๋‹ค.

๋„์ฐฉํ•˜๋ ค๋ฉด ๋’ค๋กœ ๊ฐ€๋Š” ๋ฐฉ๋ฒ•(x - 1)๋ฟ์ด๋ฏ€๋กœ ์‹œ๊ฐ„์€ N - K

๊ฒฝ๋กœ๋Š” N๋ถ€ํ„ฐ K๊นŒ์ง€ 1์”ฉ ๊ฐ์†Œํ•˜๋ฉด ๋œ๋‹ค.

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿงฉ Problem Solving > [๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 15654 N๊ณผ M(5) (python ํŒŒ์ด์ฌ)  (0) 2022.07.13
[๋ฐฑ์ค€] 1202 ๋ณด์„ ๋„๋‘‘ (python ํŒŒ์ด์ฌ)  (0) 2022.07.11
[๋ฐฑ์ค€] 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 (python ํŒŒ์ด์ฌ)  (0) 2022.07.10
[๋ฐฑ์ค€] 1043 ๊ฑฐ์ง“๋ง (python ํŒŒ์ด์ฌ)  (0) 2022.07.09
[๋ฐฑ์ค€] 2467 ์šฉ์•ก (python ํŒŒ์ด์ฌ)  (0) 2022.07.09
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 15654 N๊ณผ M(5) (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 1202 ๋ณด์„ ๋„๋‘‘ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 1043 ๊ฑฐ์ง“๋ง (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (2)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (2)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋ธŒ๋ฃจํŠธํฌ์Šค
    ์žฌ๊ท€
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ๊ทธ๋ฆฌ๋””
    ๋‹ค์ต์ŠคํŠธ๋ผ
    BFS
    ํŒฐ๋ฆฐ๋“œ๋กฌ
    ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ
    ์ •์ฒ˜๊ธฐ
    ๋ƒ…์ƒ‰
    ๋ฐฑ์ค€
    imos
    Bruteforce
    DFS
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๊ตฌํ˜„
    ๋ฐ๋ธŒ์ฝ”์Šค
    ํ”Œ๋กœ์ด๋“œ์›Œ์…œ
    ๋ถ„ํ•  ์ •๋ณต
    ์œ„์ƒ์ •๋ ฌ
    ํˆฌํฌ์ธํ„ฐ
    ๋ˆ„์ ํ•ฉ
    ์Šคํƒ
    boj
    DP
    Python
    slicing
    SWEA
    ํŒŒ์ด์ฌ
    ๋ถ€๋ถ„ํ•ฉ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[๋ฐฑ์ค€] 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”