diff options
author | Leah Neukirchen <leah@vuxu.org> | 2018-12-05 18:13:02 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2018-12-05 18:13:42 +0100 |
commit | d0b988bb748038ec88b63d4d7ba0885be8221bed (patch) | |
tree | e6a30f71ed63a680b2c9b3d61d94fa1ea1389486 /day03.rb | |
parent | 7d95cb7cef2105f441e3e18248b389928b62c7f9 (diff) | |
download | adventofcode2018-d0b988bb748038ec88b63d4d7ba0885be8221bed.tar.gz adventofcode2018-d0b988bb748038ec88b63d4d7ba0885be8221bed.tar.xz adventofcode2018-d0b988bb748038ec88b63d4d7ba0885be8221bed.zip |
day03
Diffstat (limited to 'day03.rb')
-rw-r--r-- | day03.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/day03.rb b/day03.rb new file mode 100644 index 0000000..246d68b --- /dev/null +++ b/day03.rb @@ -0,0 +1,29 @@ +d = [] +IO.foreach("day03") { |line| + l = line.split(/\s*[#@,:\nx]\s*/).map(&:to_i) + d << l[1..-1] +} + +claims = d.map(&:first) + +require 'set' + +r = 0 +p = {} +p2 = {} +d.each { |id,l,t,w,h| + (l...l+w).each { |x| + (t...t+h).each { |y| + if p.include? [x,y] + p2[[x,y]] = true + claims.delete(p[[x,y]]) + claims.delete(id) + else + p[[x,y]] = id + end + } + } +} + +p p2.size +puts claims |