숨바꼭질

시간초과 나오는데 풀었다는것에 의의를 두는게 좋음.

dist = {}

def bfs(start,end):
  todo = [start]
  move = [1,-1,2]
  dist[start] = 0

  while todo:

    curr = todo.pop(0)

    if curr == end:
      print(dist[curr])
      break

    for n in move:
      if n != 2:
        if curr+n not in dist:
          todo.append(curr+n)
          dist[curr+n] = dist[curr]+1
      else:
        if curr*2 not in dist:
          todo.append(curr*2)
          dist[curr*2] = dist[curr]+1

start,end = map(int, input().split())
bfs(start,end)

results matching ""

    No results matching ""