rolfvanoven

AoC 2024 dag 2

Dec 2nd, 2024
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.95 KB | None | 0 0
  1. #bestand inlezen:
  2. bestand = open('voorbeeld.txt', 'r')
  3. bestand = open('input.txt', 'r')
  4. lijst = bestand.readlines()
  5.  
  6. #splitsen:
  7. for x in range(len(lijst)):
  8.   lijst[x] = lijst[x].split()
  9.   for y in range(len(lijst[x])):
  10.     lijst[x][y] = int(lijst[x][y])
  11. #print(lijst)
  12.  
  13. antwoord = 0
  14. antwoordb = 0
  15.  
  16.  
  17. #veiligheid checken:
  18. for x in range(len(lijst)):
  19.   veilig = 0
  20.   volgorde = []
  21.   andersom = []
  22.   for y in range(len(lijst[x])):
  23.     volgorde.append(lijst[x][y])
  24.     andersom.append(lijst[x][y])
  25.   volgorde.sort()
  26.   andersom.sort()
  27.   andersom.reverse()
  28.   if lijst[x] == volgorde or lijst[x] == andersom:
  29.     veilig = 1
  30.     for z in range(len(lijst[x])-1):
  31.       if abs(lijst[x][z]-lijst[x][z+1]) > 3 or abs(lijst[x][z]-lijst[x][z+1]) == 0:
  32.         veilig = 0
  33.   if veilig:
  34. #    print(lijst[x], 'is sowieso veilig')
  35.     antwoord += 1
  36.     antwoordb += 1
  37.   else:
  38.     kandeze = 0
  39.     kanhetecht = 0
  40.     for y in range(len(lijst[x])):
  41.       huidige = []
  42.       for z in range(len(lijst[x])):
  43.         huidige.append(lijst[x][z])
  44.       huidige.pop(y)
  45.       volgorde = []
  46.       andersom = []
  47.       for z in range(len(huidige)):
  48.         volgorde.append(huidige[z])
  49.         andersom.append(huidige[z])
  50.       volgorde.sort()
  51.       andersom.sort()
  52.       andersom.reverse()
  53.       if huidige == volgorde or huidige == andersom:
  54.         kandeze = 1
  55. #        print('volgorde klopt voor', huidige)
  56.         dezedeze = 1
  57.         for z in range(len(huidige)-1):
  58. #          print(abs(huidige[z]-huidige[z+1]))
  59.           if abs(huidige[z]-huidige[z+1]) < 1 or abs(huidige[z]-huidige[z+1]) > 3:
  60.             dezedeze = 0
  61. #            print('helaas die kan niet want stap van', abs(huidige[z]-huidige[z+1]), 'is illegaal')
  62.         if dezedeze == 1:
  63.           kanhetecht = 1
  64.     if kanhetecht == 1:
  65.       antwoordb += 1      
  66. #      print(lijst[x], 'kan dus alsnog')
  67. #    else:
  68. #      print(lijst[x], 'kan echt niet')
  69.  
  70.  
  71.  
  72. print(antwoord)
  73. print(antwoordb)
  74.  
Advertisement
Add Comment
Please, Sign In to add comment