Advertisement
rolfvanoven

troglodiet dag 5A de processorverbrander

Dec 5th, 2021
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.54 KB | None | 0 0
  1. bestand = open('input.txt', 'r')
  2. alles = bestand.readlines()
  3. templijst = []
  4. horizontaal = []
  5. verticaal = []
  6.  
  7. # tekst splitsen en in getallen omzetten:
  8. for sliert in range(len(alles)):
  9.   templijst.append(alles[sliert].split(" -> "))
  10. for sliert in range(len(templijst)):
  11.   for ding in range(2):
  12.     templijst[sliert][ding] = templijst[sliert][ding].split(",")
  13.     for dong in range(2):
  14.       templijst[sliert][ding][dong] = int(templijst[sliert][ding][dong])
  15.  
  16. # alleen rechte slierten:
  17. for sliert in range(len(templijst)):
  18.   hori = False
  19.   verti = False
  20.   if templijst[sliert][0][1] == templijst[sliert][1][1]:
  21.     hori = True
  22.   elif templijst[sliert][0][0] == templijst[sliert][1][0]:
  23.     verti = True
  24.   if hori == True:
  25.     horizontaal.append(templijst[sliert])
  26.   if verti == True:
  27.     verticaal.append(templijst[sliert])
  28.  
  29. # alles de goede kant op draaien:
  30. for sliert in range(len(horizontaal)):
  31.   if horizontaal[sliert][0][0] > horizontaal[sliert][1][0]:
  32.     omdraaien = horizontaal[sliert][1][0]
  33.     horizontaal[sliert][1][0] = horizontaal[sliert][0][0]
  34.     horizontaal[sliert][0][0] = omdraaien
  35. for sliert in range(len(verticaal)):
  36.   if verticaal[sliert][0][1] > verticaal[sliert][1][1]:
  37.     omdraaien = verticaal[sliert][1][1]
  38.     verticaal[sliert][1][1] = verticaal[sliert][0][1]
  39.     verticaal[sliert][0][1] = omdraaien
  40.  
  41. #tussendingen toevoegen:
  42. for sliert in range(len(horizontaal)):
  43.   for tussen in range((horizontaal[sliert][1][0] - horizontaal[sliert][0][0])-1):
  44.     horizontaal[sliert].append([horizontaal[sliert][0][0]+tussen+1, horizontaal[sliert][0][1]])
  45. for sliert in range(len(verticaal)):
  46.   for tussen in range((verticaal[sliert][1][1] - verticaal[sliert][0][1])-1):
  47.     verticaal[sliert].append([verticaal[sliert][0][0], verticaal[sliert][0][1]+tussen+1])
  48.  
  49. # antwoord uitrekenen:
  50. superlijst = []
  51. schijtlijst = []
  52. antwoord = 0
  53. for sliert in range(len(horizontaal)):
  54.   for pixel in range(len(horizontaal[sliert])):
  55.     if horizontaal[sliert][pixel] in superlijst:
  56.       if horizontaal[sliert][pixel] not in schijtlijst:
  57.         antwoord = antwoord + 1
  58.         schijtlijst.append(horizontaal[sliert][pixel])
  59.     else:
  60.       superlijst.append(horizontaal[sliert][pixel])
  61. for sliert in range(len(verticaal)):
  62.   for pixel in range(len(verticaal[sliert])):
  63.     if verticaal[sliert][pixel] in superlijst:
  64.       if verticaal[sliert][pixel] not in schijtlijst:
  65.         antwoord = antwoord + 1
  66.         schijtlijst.append(verticaal[sliert][pixel])
  67.     else:
  68.       superlijst.append(verticaal[sliert][pixel])
  69.  
  70. print(antwoord)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement