Code for the Advent of Code event
aoc advent-of-code
at rust 27 lines 575 B view raw
1#!/usr/bin/env ruby 2# frozen_string_literal: true 3 4require 'matrix' 5 6reactor = {} 7 8ARGF.each_line do |line| 9 puts "Processing: #{line}" 10 op, ranges = line.split 11 next if ranges.nil? || ranges == '' 12 op = op == 'on' 13 xrange, yrange, zrange = ranges.scan(/-?\d+\.\.-?\d+/).map { eval(_1) } 14 xrange.each do |x| 15 next if x < -50 || x > 50 16 yrange.each do |y| 17 next if y < -50 || y > 50 18 zrange.each do |z| 19 next if z < -50 || z > 50 20 pos = Vector[x, y, z] 21 reactor[pos] = op 22 end 23 end 24 end 25end 26 27puts reactor.values.count(true)