SHARE
TWEET

Untitled

a guest Sep 16th, 2019 110 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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)))
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top