Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. def solve(vrski, Covece, Zvezdi_pozicii):
  2. queue = []
  3.  
  4. queue.append((Covece, [], [], set()))
  5.  
  6. while len(queue) != 0:
  7. (Pozicija, Cekori, Poseteni, Zvezdi) = queue.pop(0)
  8. if len(Zvezdi) == 2:
  9. return Cekori
  10.  
  11. for nasoka in vrski[Pozicija].keys():
  12. sosed = vrski[Pozicija][nasoka]
  13. if (Pozicija, sosed) in Poseteni or (sosed, Pozicija) in Poseteni:
  14. continue
  15. else:
  16. Novi_Cekori = Cekori.copy()
  17. Novi_Cekori.append(nasoka)
  18. Novi_Poseteni = Poseteni.copy()
  19. Novi_Zvezdi = Zvezdi.copy()
  20.  
  21. if sosed in Zvezdi_pozicii:
  22. Novi_Zvezdi.add(sosed)
  23.  
  24. Novi_Poseteni.append((Pozicija, sosed))
  25. Novi_Poseteni.append((sosed, Pozicija))
  26. queue.append((sosed, Novi_Cekori,Novi_Poseteni, Novi_Zvezdi))
  27.  
  28. return -1
  29.  
  30. if __name__ == "__main__":
  31. Covece = int(input())
  32. Zvezda_1 = int(input())
  33. Zvezda_2 = int(input())
  34.  
  35. vrski = {
  36. 1: {"Dolu": 5, "Desno": 2},
  37. 2: {"Dolu": 6, "Levo": 1},
  38. 3: {"Dolu": 7, "Desno": 4},
  39. 4: {"Levo": 3, "Dolu": 8},
  40. 5: {"Gore": 1, "Desno": 6},
  41. 6: {"Gore": 2,"Dolu": 10, "Levo": 5, "Desno": 7, "DoluDesno": 11},
  42. 7: {"Gore": 3,"Dolu": 11, "Levo": 6, "Desno": 8},
  43. 8: {"Gore": 4, "Levo": 7},
  44. 9: {"Desno": 10, "Dolu": 13},
  45. 10: {"Gore": 6,"Dolu": 14, "Levo": 9, "Desno": 11},
  46. 11: {"Gore": 7,"Dolu": 15, "Levo": 10, "Desno": 12, "GoreLevo": 6},
  47. 12: {"Levo": 11, "Dolu": 16},
  48. 13: {"Gore": 9, "Desno": 14},
  49. 14: {"Levo": 13, "Gore": 10},
  50. 15: {"Gore": 11, "Desno": 16},
  51. 16: {"Levo": 15, "Gore": 12}
  52. }
  53.  
  54. print(solve(vrski, Covece, (Zvezda_1, Zvezda_2)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement