Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bestand = open('input.txt', 'r')
- alles = bestand.readlines()
- templijst = []
- horizontaal = []
- verticaal = []
- lorb = []
- lbro = []
- # tekst splitsen en in getallen omzetten:
- for sliert in range(len(alles)):
- templijst.append(alles[sliert].split(" -> "))
- for sliert in range(len(templijst)):
- for ding in range(2):
- templijst[sliert][ding] = templijst[sliert][ding].split(",")
- for dong in range(2):
- templijst[sliert][ding][dong] = int(templijst[sliert][ding][dong])
- # alleen rechte slierten:
- for sliert in range(len(templijst)):
- if templijst[sliert][0][1] == templijst[sliert][1][1]:
- horizontaal.append(templijst[sliert])
- elif templijst[sliert][0][0] == templijst[sliert][1][0]:
- verticaal.append(templijst[sliert])
- elif templijst[sliert][0][0] < templijst[sliert][1][0]:
- if templijst[sliert][0][1] < templijst[sliert][1][1]:
- lorb.append(templijst[sliert])
- else:
- lbro.append(templijst[sliert])
- else:
- if templijst[sliert][0][1] < templijst[sliert][1][1]:
- lbro.append(templijst[sliert])
- else:
- lorb.append(templijst[sliert])
- # alles de goede kant op draaien:
- for sliert in range(len(horizontaal)):
- if horizontaal[sliert][0][0] > horizontaal[sliert][1][0]:
- omdraaien = horizontaal[sliert][1][0]
- horizontaal[sliert][1][0] = horizontaal[sliert][0][0]
- horizontaal[sliert][0][0] = omdraaien
- for sliert in range(len(verticaal)):
- if verticaal[sliert][0][1] > verticaal[sliert][1][1]:
- omdraaien = verticaal[sliert][1][1]
- verticaal[sliert][1][1] = verticaal[sliert][0][1]
- verticaal[sliert][0][1] = omdraaien
- for sliert in range(len(lorb)):
- if lorb[sliert][0][0] > lorb[sliert][1][0]:
- omdraaien = lorb[sliert][0]
- lorb[sliert][0] = lorb[sliert][1]
- lorb[sliert][1] = omdraaien
- for sliert in range(len(lbro)):
- if lbro[sliert][0][0] > lbro[sliert][1][0]:
- omdraaien = lbro[sliert][0]
- lbro[sliert][0] = lbro[sliert][1]
- lbro[sliert][1] = omdraaien
- #tussendingen toevoegen:
- for sliert in range(len(horizontaal)):
- for tussen in range((horizontaal[sliert][1][0] - horizontaal[sliert][0][0])-1):
- horizontaal[sliert].append([horizontaal[sliert][0][0]+tussen+1, horizontaal[sliert][0][1]])
- for sliert in range(len(verticaal)):
- for tussen in range((verticaal[sliert][1][1] - verticaal[sliert][0][1])-1):
- verticaal[sliert].append([verticaal[sliert][0][0], verticaal[sliert][0][1]+tussen+1])
- for sliert in range(len(lorb)):
- for tussen in range((lorb[sliert][1][1] - lorb[sliert][0][1])-1):
- lorb[sliert].append([lorb[sliert][0][0]+tussen+1, lorb[sliert][0][1]+tussen+1])
- for sliert in range(len(lbro)):
- for tussen in range((lbro[sliert][1][0] - lbro[sliert][0][0])-1):
- lbro[sliert].append([lbro[sliert][0][0]+tussen+1, lbro[sliert][0][1]-tussen-1])
- # antwoord uitrekenen:
- superlijst = []
- schijtlijst = []
- antwoord = 0
- for sliert in range(len(horizontaal)):
- for pixel in range(len(horizontaal[sliert])):
- if horizontaal[sliert][pixel] in superlijst:
- if horizontaal[sliert][pixel] not in schijtlijst:
- antwoord = antwoord + 1
- schijtlijst.append(horizontaal[sliert][pixel])
- else:
- superlijst.append(horizontaal[sliert][pixel])
- for sliert in range(len(verticaal)):
- for pixel in range(len(verticaal[sliert])):
- if verticaal[sliert][pixel] in superlijst:
- if verticaal[sliert][pixel] not in schijtlijst:
- antwoord = antwoord + 1
- schijtlijst.append(verticaal[sliert][pixel])
- else:
- superlijst.append(verticaal[sliert][pixel])
- for sliert in range(len(lorb)):
- for pixel in range(len(lorb[sliert])):
- if lorb[sliert][pixel] in superlijst:
- if lorb[sliert][pixel] not in schijtlijst:
- antwoord = antwoord + 1
- schijtlijst.append(lorb[sliert][pixel])
- else:
- superlijst.append(lorb[sliert][pixel])
- for sliert in range(len(lbro)):
- for pixel in range(len(lbro[sliert])):
- if lbro[sliert][pixel] in superlijst:
- if lbro[sliert][pixel] not in schijtlijst:
- antwoord = antwoord + 1
- schijtlijst.append(lbro[sliert][pixel])
- else:
- superlijst.append(lbro[sliert][pixel])
- print(antwoord)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement