Code for the Advent of Code event
aoc advent-of-code
at rust 53 lines 732 B view raw
1#!/usr/bin/env ruby 2# frozen_string_literal: true 3 4require_relative '../../../lib/aoc/intcode/cpu' 5 6PATH = ARGV.first || 'input' 7DEBUG = ENV.fetch('DEBUG', nil) 8 9script = <<~SCRIPT 10 NOT A J 11 NOT B T 12 AND D T 13 OR T J 14 NOT C T 15 OR T J 16 AND D J 17 WALK 18SCRIPT 19 20cpu = AoC::Intcode::CPU.new.print_output!(false).load!(PATH).input!(script) 21 22cpu.run! 23 24if cpu.output[-1] > 255 25 puts "Part 1: #{cpu.output[-1]}" 26else 27 puts cpu.output.map(&:chr).join 28end 29 30cpu.reset! 31 32script = <<~SCRIPT 33 NOT A J 34 NOT B T 35 AND D T 36 OR T J 37 NOT C T 38 OR T J 39 NOT A T 40 OR T J 41 AND H J 42 OR E J 43 AND D J 44 RUN 45SCRIPT 46 47cpu.input!(script).run! 48 49if cpu.output[-1] > 255 50 puts "Part 2: #{cpu.output[-1]}" 51else 52 puts cpu.output.map(&:chr).join 53end