blob: 69d9ac284f8aa9d0b37781f33fdeadb5958b533d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
(defun read-fish (name)
(flow
(file-get-string name)
(tok #/\d+/)
(mapcar toint)))
(defun sim-naive (input n)
(while (plusp (pdec n))
(upd input (mappend [iff zerop (ret '(6 8)) [chain pred list]])))
(len input))
(defun sim (input n)
(let ((phase (vector 9 0)))
(each ((i input))
(inc [phase i]))
(while (plusp (pdec n))
(rotate [phase 0] [phase 1] [phase 2]
[phase 3] [phase 4] [phase 5]
[phase 6] [phase 7] [phase 8])
(inc [phase 6] [phase 8]))
(sum phase)))
(defun sim2 (input n)
(let ((phase (vector 9 0)))
(each ((i input))
(inc [phase i]))
(while (plusp (pdec n))
(pset [phase 8] [phase 0]
[phase 0..8] [phase 1..9])
(inc [phase 6] [phase 8]))
(sum phase)))
|