title: Breadth First Search : Shortest Path using Python
body: <p>I came across the problem <a href="https://www.hackerrank.com/challenges/bfsshortreach/problem" rel="nofollow noreferrer">Breadth First Search: Shortest Reach</a> in Hackerrank and here was my solution in python. However my code only passed one Test Cases among the 7. Where am I wrong in this implementation ?</p>
  
  <pre><code>#Hackerrank
  #Topic : Graphs
  #Url : https://www.hackerrank.com/challenges/bfsshortreach/problem
  
  def bfs(i, n, E):
  
      level = [-1] * (n+1)
      queue = []
      level[i] = 0
      queue.append(i)
  
      while len(queue) &gt; 0:
          head = queue[0]
          queue = queue[1:]
          for j,k in E:
              if j == head:
                  if level[k] == -1:
                      level[k] = 1 + level[j]
                      queue.append(k)
  
      return level
  
  
  q = int(input())
  for case in range(q):
      e = input().split(" ")
      n = int(e[0])
      m = int(e[1])
      E = []
  
      for edge in range(m):
          e = input().split(" ")
          u = int(e[0])
          v = int(e[1])
          E.append([u,v])
  
      s = int(input())
      distance = bfs(s, n, E)
      dist = []
      for i in distance[1:]:
          if i &gt; 0:
              dist.append(str(i*6))
          if i &lt; 0:
              dist.append(str(-1))
  
      print(" ".join(dist))
      print("")
  </code></pre>