Advertisement
Guest User

AOC 2021 Day 6 pt 1

a guest
Dec 13th, 2021
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. #cython: language_level=3
  2. import cython
  3. from libc.stdlib cimport malloc, free
  4.  
  5.  
  6. def main(fishes, cython.int days, print_fishes=False):
  7.     idx: cython.int = 0
  8.     fry: cython.int = 0
  9.     len_f: cython.int = len(fishes)
  10.     cdef int *my_ints
  11.     fish: cython.int = 0
  12.    
  13.     cfishes = <int *>malloc(4000000000*cython.sizeof(int))
  14.    
  15.     if cfishes is NULL:
  16.         raise MemoryError()
  17.     for i in xrange(len_f):
  18.         cfishes[i] = fishes[i]
  19.  
  20.     for day in range(days):
  21.         fry = 0
  22.         for idx in xrange(len_f):
  23.             fish = cfishes[idx]
  24.             if fish == 0:
  25.                 fry += 1
  26.                 cfishes[idx] = 6
  27.             else:
  28.                 cfishes[idx] = fish - 1
  29.  
  30.         for idx in xrange(fry):
  31.             cfishes[len_f+idx] = 8
  32.         len_f = len_f + fry
  33.         print("Day %d, %d fishes" % (day, len_f))
  34.     print(len_f)
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement