Initial commit

This commit is contained in:
Dimitri Lozeve 2024-11-12 21:43:32 +01:00
commit f242d2b0df
420 changed files with 62521 additions and 0 deletions

34
2019/day02/day02.rkt Normal file
View file

@ -0,0 +1,34 @@
#lang racket/base
(require "../intcode.rkt"
racket/vector)
(module+ test
(require rackunit))
(define (part1 filename)
(define program (parse-file filename))
(vector-set! program 1 12)
(vector-set! program 2 2)
(define vm (execute (start-machine program '())))
(vector-ref (machine-program vm) 0))
(module+ test
(check-equal? (part1 "input.txt") 6627023))
(define (try-inputs program noun verb)
(define my-program (vector-copy program))
(vector-set! my-program 1 noun)
(vector-set! my-program 2 verb)
(define vm (execute (start-machine my-program '())))
(vector-ref (machine-program vm) 0))
(define (part2 filename)
(define program (parse-file filename))
(for*/first ([noun (in-range 100)]
[verb (in-range 100)]
#:when (eq? 19690720 (try-inputs program noun verb)))
(+ (* 100 noun) verb)))
(module+ test
(check-equal? (part2 "input.txt") 4019))