Day 13.
This commit is contained in:
parent
0a60d7e899
commit
73da9905b3
|
@ -0,0 +1,2 @@
|
||||||
|
1000104
|
||||||
|
41,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,659,x,x,x,x,x,x,x,23,x,x,x,x,13,x,x,x,x,x,19,x,x,x,x,x,x,x,x,x,29,x,937,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,17
|
|
@ -0,0 +1,21 @@
|
||||||
|
#lang curly-fn racket
|
||||||
|
|
||||||
|
(require math/number-theory
|
||||||
|
"../lib.rkt")
|
||||||
|
|
||||||
|
(define input (problem-input 13))
|
||||||
|
(define timestamp (string->number (first input)))
|
||||||
|
(define busses (map string->number (string-split (second input) ",")))
|
||||||
|
(define ids (filter identity busses))
|
||||||
|
|
||||||
|
(define part1
|
||||||
|
(let* ([waits (map #{- (* % (add1 (quotient timestamp %))) timestamp} ids)]
|
||||||
|
[wait (apply min waits)]
|
||||||
|
[index (index-of waits wait)])
|
||||||
|
(* wait (list-ref ids index))))
|
||||||
|
|
||||||
|
(define part2
|
||||||
|
(let ([offsets (filter-map #{and %1 (negate %2)} busses (range (length busses)))])
|
||||||
|
(solve-chinese offsets ids)))
|
||||||
|
|
||||||
|
(show-solution part1 part2)
|
Loading…
Reference in New Issue