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

2022. 6. 13. 07:50ยท๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

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

 

13549๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 3

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

www.acmicpc.net

 

ํ’€์ด ๊ณผ์ •

1697 - ์ˆจ๋ฐ”๊ผญ์งˆ ๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๋‹ค. ์ฐจ์ด์ ์€ ์ˆจ๋ฐ”๊ผญ์งˆ 3 ๋ฌธ์ œ๋Š” ์ˆœ๊ฐ„์ด๋™ํ•  ๋•Œ 0์ดˆ ์†Œ์š”๋œ๋‹ค.

์ˆจ๋ฐ”๊ผญ์งˆ ๋ฌธ์ œ๋ฅผ ์˜ˆ์ „์— ํ’€์–ด์„œ ๋‚ ๋กœ ๋จน์œผ๋ ค ์ˆœ๊ฐ„์ด๋™ ๋ถ€๋ถ„๋งŒ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ ํ‹€๋ ธ๋‹ค.

๋‹ค์‹œ ์งœ์•ผํ•˜๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ ์กฐ๊ธˆ๋งŒ ์ˆ˜์ •ํ•˜๋‹ˆ๊นŒ ํ•ด๊ฒฐ๋๋‹ค. bfs๋กœ ํ•ด๊ฒฐํ•จ.

 

from collections import deque
N , K = map(int,input().split())


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

while True:
    X = deq.popleft()
    posi = X[0]
    second = X[1]

    if posi == K:
        print(second)
        break

    if posi * 2 >= 0 and posi * 2 <= 100000 and posi * 2 not in visited:
        visited.append(posi * 2)
        deq.append([posi * 2,second])
    if posi - 1 >= 0 and posi - 1 <= 100000 and posi - 1 not in visited:
        visited.append(posi - 1)
        deq.append([posi - 1,second + 1])
    if posi + 1 >= 0 and posi + 1 <= 100000 and posi + 1 not in visited:
        visited.append(posi + 1)
        deq.append([posi + 1,second + 1])

ํ์—์„œ pop๋ฅผ ํ•œ ๊ฐ’์— ๋”ฐ๋ผ posi * 2, posi - 1, posi + 1์„ ๊ฐ ์กฐ๊ฑด์— ํ™•์ธํ•ด์„œ ํ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ ํ์— ์ถ”๊ฐ€ํ•  ๋•Œ ์ˆœ๊ฐ„ ์ด๋™ํ•˜๋Š” ๋ถ€๋ถ„์€ ๋จผ์ € ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด N๊ณผ K ๊ฐ’์ด 3, 5 ์ธ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž

ํƒ์ƒ‰์„ X - 1, X + 1, X * 2 ์ˆœ์œผ๋กœ bfs ํ•˜๋ฉด 

3

2 4 6

1 (3) (4) / (3) 5 8 / (5) 7 12             //๊ด„ํ˜ธ๋Š” ์ด๋ฏธ ๋ฐฉ๋ฌธํ•ด์„œ ๋ฐฉ๋ฌธ ์•ˆ ํ•จ.

์œ„์™€ ๊ฐ™์ด ๋ฐฉ๋ฌธํ•˜๋ฉด ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์€ +1 +1 ์ด๋ฏ€๋กœ 2๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 

 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ์ƒ‰์„ X * 2, X - 1, X + 1 ์ˆœ์œผ๋กœ ํ•˜๋ฉด

3

6 2 4

12 5 7 / 8 (3) (5) / (4) 1 (3)

์œ„์™€ ๊ฐ™์ด ๋ฐฉ๋ฌธํ•˜๋ฉด ์ˆœ๊ฐ„์ด๋™์€ 0์ดˆ ์ด๋ฏ€๋กœ 1์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

๋”ฐ๋ผ์„œ 0์ดˆ ๊ฑธ๋ฆฌ๋Š” ์ˆœ๊ฐ„์ด๋™์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•ด์•ผ ๋œ๋‹ค.

๋‚˜๋จธ์ง€๋Š” ์ˆจ๋ฐ”๊ผญ์งˆ 1๊ณผ ๋˜‘๊ฐ™์Œ.

์ „์ฒด ์ฝ”๋“œ๋Š” ์œ„

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

[๋ฐฑ์ค€] 1655 ๊ฐ€์šด๋ฐ๋ฅผ๋งํ•ด์š” (python ํŒŒ์ด์ฌ)  (0) 2022.06.14
[๋ฐฑ์ค€] 7569 ํ† ๋งˆํ†  (python ํŒŒ์ด์ฌ)  (0) 2022.06.14
[๋ฐฑ์ค€] 2252 ์ค„์„ธ์šฐ๊ธฐ (python ํŒŒ์ด์ฌ)  (0) 2022.06.11
[๋ฐฑ์ค€] 11718 ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ (python ํŒŒ์ด์ฌ)  (0) 2022.06.10
[๋ฐฑ์ค€] 1005 ACMCraft (python ํŒŒ์ด์ฌ)  (0) 2022.06.10
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1655 ๊ฐ€์šด๋ฐ๋ฅผ๋งํ•ด์š” (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 7569 ํ† ๋งˆํ†  (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 2252 ์ค„์„ธ์šฐ๊ธฐ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 11718 ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ (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)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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