diff options
author | Leah Neukirchen <leah@vuxu.org> | 2018-12-11 14:30:26 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2018-12-11 14:30:26 +0100 |
commit | 05050c3b5e20d5d475894788df6c31f867d2c51a (patch) | |
tree | 888500ae1bef07a8cd7eb7289a941933037073bb | |
parent | 4e3a081d08a79355219f8fcf78a9ae762d662b56 (diff) | |
download | adventofcode2018-05050c3b5e20d5d475894788df6c31f867d2c51a.tar.gz adventofcode2018-05050c3b5e20d5d475894788df6c31f867d2c51a.tar.xz adventofcode2018-05050c3b5e20d5d475894788df6c31f867d2c51a.zip |
day10
-rw-r--r-- | day10 | 328 | ||||
-rw-r--r-- | day10.k | 7 | ||||
-rw-r--r-- | day10.rs | 34 |
3 files changed, 369 insertions, 0 deletions
diff --git a/day10 b/day10 new file mode 100644 index 0000000..73ce637 --- /dev/null +++ b/day10 @@ -0,0 +1,328 @@ +position=< 21373, 53216> velocity=<-2, -5> +position=<-10460, -31621> velocity=< 1, 3> +position=< 21353, -42222> velocity=<-2, 4> +position=< 53136, -52828> velocity=<-5, 5> +position=< 42542, -21012> velocity=<-4, 2> +position=<-42304, -10407> velocity=< 4, 1> +position=< 21337, 21407> velocity=<-2, -2> +position=<-42297, 42612> velocity=< 4, -4> +position=< 31921, -42227> velocity=<-3, 4> +position=<-21087, 10800> velocity=< 2, -1> +position=<-52877, -31621> velocity=< 5, 3> +position=< 42532, 32006> velocity=<-4, -3> +position=< 42557, -31617> velocity=<-4, 3> +position=<-10454, 21405> velocity=< 1, -2> +position=< 10708, -21016> velocity=<-1, 2> +position=<-42316, -10407> velocity=< 4, 1> +position=< 42559, 42609> velocity=<-4, -4> +position=< 21338, 10797> velocity=<-2, -1> +position=< 21371, -21016> velocity=<-2, 2> +position=< 42572, -42222> velocity=<-4, 4> +position=< 10728, 42616> velocity=<-1, -4> +position=<-31686, 21404> velocity=< 3, -2> +position=< 31937, -21021> velocity=<-3, 2> +position=< 53180, 32013> velocity=<-5, -3> +position=< 42523, -52830> velocity=<-4, 5> +position=< 53172, 10795> velocity=<-5, -1> +position=< 42539, -42223> velocity=<-4, 4> +position=<-21105, 42609> velocity=< 2, -4> +position=<-10468, -42222> velocity=< 1, 4> +position=< 10756, -52831> velocity=<-1, 5> +position=<-10473, -31625> velocity=< 1, 3> +position=< 53189, 10794> velocity=<-5, -1> +position=< 42548, -31623> velocity=<-4, 3> +position=<-42308, -31623> velocity=< 4, 3> +position=<-21046, -10408> velocity=< 2, 1> +position=< 53152, -42222> velocity=<-5, 4> +position=< 53153, 53217> velocity=<-5, -5> +position=<-42272, 53216> velocity=< 4, -5> +position=<-42277, 10798> velocity=< 4, -1> +position=< 10756, -10411> velocity=<-1, 1> +position=< 21333, -10414> velocity=<-2, 1> +position=<-52894, 10796> velocity=< 5, -1> +position=< 10759, -21021> velocity=<-1, 2> +position=< 21353, -21014> velocity=<-2, 2> +position=< 21365, 53214> velocity=<-2, -5> +position=<-42269, -21020> velocity=< 4, 2> +position=< 10750, 53219> velocity=<-1, -5> +position=< 53152, -10416> velocity=<-5, 1> +position=<-31651, -52827> velocity=< 3, 5> +position=< 10734, -42226> velocity=<-1, 4> +position=< 21324, -31622> velocity=<-2, 3> +position=< 31918, -31618> velocity=<-3, 3> +position=< 53157, -21012> velocity=<-5, 2> +position=<-52871, 32013> velocity=< 5, -3> +position=< 31954, -21020> velocity=<-3, 2> +position=< 31967, 10798> velocity=<-3, -1> +position=<-52866, -42230> velocity=< 5, 4> +position=<-21072, -52827> velocity=< 2, 5> +position=<-21087, -21013> velocity=< 2, 2> +position=< 10720, -21014> velocity=<-1, 2> +position=< 31927, 42611> velocity=<-3, -4> +position=< 21349, 10801> velocity=<-2, -1> +position=<-21078, 21407> velocity=< 2, -2> +position=<-42261, -31626> velocity=< 4, 3> +position=< 21366, 32013> velocity=<-2, -3> +position=<-31661, 53214> velocity=< 3, -5> +position=<-31687, 21401> velocity=< 3, -2> +position=<-52882, -21019> velocity=< 5, 2> +position=<-21078, 32005> velocity=< 2, -3> +position=< 31930, -52833> velocity=<-3, 5> +position=<-31707, -10414> velocity=< 3, 1> +position=< 31947, -10416> velocity=<-3, 1> +position=<-31707, -31625> velocity=< 3, 3> +position=< 31961, -42226> velocity=<-3, 4> +position=<-42293, -52828> velocity=< 4, 5> +position=<-42291, -52832> velocity=< 4, 5> +position=< 31963, 10799> velocity=<-3, -1> +position=< 21326, -52827> velocity=<-2, 5> +position=<-31702, -31622> velocity=< 3, 3> +position=<-42304, -52828> velocity=< 4, 5> +position=<-52909, -31626> velocity=< 5, 3> +position=<-10466, 10799> velocity=< 1, -1> +position=<-52902, -31621> velocity=< 5, 3> +position=<-31652, 10797> velocity=< 3, -1> +position=< 21348, -31617> velocity=<-2, 3> +position=<-52905, -21012> velocity=< 5, 2> +position=<-31670, 10794> velocity=< 3, -1> +position=< 21342, -10408> velocity=<-2, 1> +position=<-42301, 10801> velocity=< 4, -1> +position=< 21325, 21405> velocity=<-2, -2> +position=<-31656, 53214> velocity=< 3, -5> +position=< 10710, -52832> velocity=<-1, 5> +position=< 42539, -10409> velocity=<-4, 1> +position=<-10454, -31619> velocity=< 1, 3> +position=< 53133, 42612> velocity=<-5, -4> +position=<-21047, 42612> velocity=< 2, -4> +position=< 21365, -21012> velocity=<-2, 2> +position=< 53136, -10415> velocity=<-5, 1> +position=<-10493, -31623> velocity=< 1, 3> +position=<-21062, 53217> velocity=< 2, -5> +position=<-31653, 21403> velocity=< 3, -2> +position=< 53188, -52830> velocity=<-5, 5> +position=<-21096, -31621> velocity=< 2, 3> +position=< 10713, -21015> velocity=<-1, 2> +position=< 31919, 32013> velocity=<-3, -3> +position=<-10457, -52834> velocity=< 1, 5> +position=< 10749, 32005> velocity=<-1, -3> +position=<-31704, -21013> velocity=< 3, 2> +position=< 10756, 42611> velocity=<-1, -4> +position=<-10477, -10410> velocity=< 1, 1> +position=<-21089, -31617> velocity=< 2, 3> +position=< 53136, 42610> velocity=<-5, -4> +position=<-31659, 10803> velocity=< 3, -1> +position=< 21350, 42609> velocity=<-2, -4> +position=< 42552, -31626> velocity=<-4, 3> +position=<-31691, -52836> velocity=< 3, 5> +position=< 53172, -52831> velocity=<-5, 5> +position=< 21361, 21406> velocity=<-2, -2> +position=<-52902, 42609> velocity=< 5, -4> +position=<-42267, 32013> velocity=< 4, -3> +position=<-31677, -31626> velocity=< 3, 3> +position=<-10443, -10411> velocity=< 1, 1> +position=< 10724, -10408> velocity=<-1, 1> +position=< 31927, -31620> velocity=<-3, 3> +position=<-52914, -10407> velocity=< 5, 1> +position=<-52870, 53214> velocity=< 5, -5> +position=<-31692, -31623> velocity=< 3, 3> +position=< 42573, -10412> velocity=<-4, 1> +position=< 21349, 42609> velocity=<-2, -4> +position=< 10717, -31619> velocity=<-1, 3> +position=<-10494, 21408> velocity=< 1, -2> +position=< 42528, -31619> velocity=<-4, 3> +position=<-21096, 32009> velocity=< 2, -3> +position=<-31651, 53223> velocity=< 3, -5> +position=<-21087, -21019> velocity=< 2, 2> +position=<-10474, -21019> velocity=< 1, 2> +position=< 53184, -21021> velocity=<-5, 2> +position=< 10750, -21016> velocity=<-1, 2> +position=<-42261, -31618> velocity=< 4, 3> +position=<-10474, 10801> velocity=< 1, -1> +position=<-52873, -42227> velocity=< 5, 4> +position=<-42281, 10797> velocity=< 4, -1> +position=<-31712, -31626> velocity=< 3, 3> +position=< 42566, 21399> velocity=<-4, -2> +position=< 42564, 53219> velocity=<-4, -5> +position=<-10474, -52829> velocity=< 1, 5> +position=< 53155, 32009> velocity=<-5, -3> +position=<-10482, 42616> velocity=< 1, -4> +position=<-21063, 21404> velocity=< 2, -2> +position=< 53176, 32008> velocity=<-5, -3> +position=<-52919, -52836> velocity=< 5, 5> +position=<-10477, -52830> velocity=< 1, 5> +position=< 31958, -52829> velocity=<-3, 5> +position=< 21349, -21017> velocity=<-2, 2> +position=<-31664, 32013> velocity=< 3, -3> +position=<-52886, -21013> velocity=< 5, 2> +position=<-10466, -31622> velocity=< 1, 3> +position=<-21062, 32013> velocity=< 2, -3> +position=< 53129, 10803> velocity=<-5, -1> +position=< 21340, 32008> velocity=<-2, -3> +position=<-21082, 10800> velocity=< 2, -1> +position=<-52918, 21408> velocity=< 5, -2> +position=<-52894, 53220> velocity=< 5, -5> +position=<-21075, -21013> velocity=< 2, 2> +position=< 53129, 42609> velocity=<-5, -4> +position=< 31918, 53214> velocity=<-3, -5> +position=<-31676, -10415> velocity=< 3, 1> +position=< 42567, -10415> velocity=<-4, 1> +position=< 53180, -10412> velocity=<-5, 1> +position=<-10446, 53215> velocity=< 1, -5> +position=<-52873, -21021> velocity=< 5, 2> +position=<-42281, -10411> velocity=< 4, 1> +position=< 42523, 21402> velocity=<-4, -2> +position=<-21064, -21021> velocity=< 2, 2> +position=< 31963, 21401> velocity=<-3, -2> +position=<-31664, -42230> velocity=< 3, 4> +position=<-52914, -42231> velocity=< 5, 4> +position=<-10497, -21014> velocity=< 1, 2> +position=<-21087, 42610> velocity=< 2, -4> +position=< 42523, -52835> velocity=<-4, 5> +position=< 31958, 32007> velocity=<-3, -3> +position=<-52862, 10796> velocity=< 5, -1> +position=<-31662, 53214> velocity=< 3, -5> +position=< 10748, -10411> velocity=<-1, 1> +position=<-31707, -21016> velocity=< 3, 2> +position=<-52922, -10416> velocity=< 5, 1> +position=< 31918, 21408> velocity=<-3, -2> +position=<-31667, -31618> velocity=< 3, 3> +position=<-42291, 32009> velocity=< 4, -3> +position=< 31922, 42609> velocity=<-3, -4> +position=< 10732, 42610> velocity=<-1, -4> +position=< 21316, 53223> velocity=<-2, -5> +position=< 10748, -31620> velocity=<-1, 3> +position=< 31976, -42226> velocity=<-3, 4> +position=<-52880, -42231> velocity=< 5, 4> +position=<-21071, -42223> velocity=< 2, 4> +position=< 10761, -31626> velocity=<-1, 3> +position=< 21313, -52830> velocity=<-2, 5> +position=<-52914, 53222> velocity=< 5, -5> +position=<-52861, 42610> velocity=< 5, -4> +position=<-21104, -31626> velocity=< 2, 3> +position=<-21102, 10801> velocity=< 2, -1> +position=< 42580, -42224> velocity=<-4, 4> +position=< 10720, -31624> velocity=<-1, 3> +position=<-10454, -42223> velocity=< 1, 4> +position=<-10462, -21012> velocity=< 1, 2> +position=<-52922, -31624> velocity=< 5, 3> +position=< 31958, 53222> velocity=<-3, -5> +position=<-42283, -42222> velocity=< 4, 4> +position=< 10718, -21017> velocity=<-1, 2> +position=< 10721, -21020> velocity=<-1, 2> +position=<-31700, 42611> velocity=< 3, -4> +position=< 21362, 10798> velocity=<-2, -1> +position=<-10502, -52830> velocity=< 1, 5> +position=< 31977, 10799> velocity=<-3, -1> +position=< 21369, 32005> velocity=<-2, -3> +position=< 42559, 10801> velocity=<-4, -1> +position=< 21349, -42224> velocity=<-2, 4> +position=<-21047, -42229> velocity=< 2, 4> +position=< 21313, -31619> velocity=<-2, 3> +position=<-21089, -31617> velocity=< 2, 3> +position=< 53184, -10408> velocity=<-5, 1> +position=< 31946, 10797> velocity=<-3, -1> +position=< 21345, -10408> velocity=<-2, 1> +position=<-52877, 53223> velocity=< 5, -5> +position=<-52865, -52834> velocity=< 5, 5> +position=<-52922, 21400> velocity=< 5, -2> +position=< 10724, -31619> velocity=<-1, 3> +position=<-10459, -31621> velocity=< 1, 3> +position=< 31967, 53214> velocity=<-3, -5> +position=<-10466, 42614> velocity=< 1, -4> +position=<-21058, -31626> velocity=< 2, 3> +position=< 10708, -42226> velocity=<-1, 4> +position=< 21313, -42224> velocity=<-2, 4> +position=<-21099, -10416> velocity=< 2, 1> +position=< 10741, 32013> velocity=<-1, -3> +position=<-21062, -52829> velocity=< 2, 5> +position=< 31938, -52832> velocity=<-3, 5> +position=< 21318, 10802> velocity=<-2, -1> +position=< 21349, 21402> velocity=<-2, -2> +position=< 21361, 53223> velocity=<-2, -5> +position=< 21349, 21405> velocity=<-2, -2> +position=< 21334, 10794> velocity=<-2, -1> +position=< 31947, 21399> velocity=<-3, -2> +position=< 10709, -10412> velocity=<-1, 1> +position=<-42269, -10412> velocity=< 4, 1> +position=<-52874, -42227> velocity=< 5, 4> +position=<-21095, -31620> velocity=< 2, 3> +position=<-10457, 21404> velocity=< 1, -2> +position=< 53157, -21020> velocity=<-5, 2> +position=<-31685, -21016> velocity=< 3, 2> +position=< 10716, -31626> velocity=<-1, 3> +position=< 53152, 10802> velocity=<-5, -1> +position=<-52922, 42611> velocity=< 5, -4> +position=< 21361, 42612> velocity=<-2, -4> +position=< 31966, 10795> velocity=<-3, -1> +position=<-21102, 42610> velocity=< 2, -4> +position=< 42580, 32010> velocity=<-4, -3> +position=< 31947, -21013> velocity=<-3, 2> +position=< 42571, 42612> velocity=<-4, -4> +position=<-52862, 53221> velocity=< 5, -5> +position=< 53171, -10411> velocity=<-5, 1> +position=< 42555, 32011> velocity=<-4, -3> +position=<-52909, -42231> velocity=< 5, 4> +position=< 31934, -10408> velocity=<-3, 1> +position=<-42268, -52827> velocity=< 4, 5> +position=<-21056, 53218> velocity=< 2, -5> +position=<-42259, -52832> velocity=< 4, 5> +position=< 31976, 21404> velocity=<-3, -2> +position=< 42532, 53216> velocity=<-4, -5> +position=<-52920, -42231> velocity=< 5, 4> +position=< 53179, 53214> velocity=<-5, -5> +position=<-52869, 10794> velocity=< 5, -1> +position=< 53181, 42618> velocity=<-5, -4> +position=< 10760, -52832> velocity=<-1, 5> +position=< 31975, -52829> velocity=<-3, 5> +position=< 42523, -42222> velocity=<-4, 4> +position=<-31656, 32013> velocity=< 3, -3> +position=<-42260, -52830> velocity=< 4, 5> +position=< 42556, -31617> velocity=<-4, 3> +position=< 31979, -10407> velocity=<-3, 1> +position=< 42575, 32013> velocity=<-4, -3> +position=< 10728, 21407> velocity=<-1, -2> +position=<-10458, 32009> velocity=< 1, -3> +position=< 42563, -31619> velocity=<-4, 3> +position=< 31942, -52827> velocity=<-3, 5> +position=< 21372, 32009> velocity=<-2, -3> +position=< 53139, 32008> velocity=<-5, -3> +position=<-42281, -42228> velocity=< 4, 4> +position=<-42315, -52827> velocity=< 4, 5> +position=< 31946, 21405> velocity=<-3, -2> +position=< 42559, -31622> velocity=<-4, 3> +position=<-10442, -10410> velocity=< 1, 1> +position=<-52910, -21015> velocity=< 5, 2> +position=<-52921, -42227> velocity=< 5, 4> +position=< 31943, -10409> velocity=<-3, 1> +position=< 10769, -10416> velocity=<-1, 1> +position=<-42305, 42611> velocity=< 4, -4> +position=< 21337, 32013> velocity=<-2, -3> +position=< 10728, -42228> velocity=<-1, 4> +position=<-31653, 21403> velocity=< 3, -2> +position=< 21317, 32008> velocity=<-2, -3> +position=<-31679, 10803> velocity=< 3, -1> +position=<-31664, 10799> velocity=< 3, -1> +position=<-52862, 42616> velocity=< 5, -4> +position=< 31918, 53218> velocity=<-3, -5> +position=<-21104, 32004> velocity=< 2, -3> +position=<-42297, 10796> velocity=< 4, -1> +position=< 31938, 53222> velocity=<-3, -5> +position=<-31655, -31623> velocity=< 3, 3> +position=<-21071, -42229> velocity=< 2, 4> +position=< 53173, -52832> velocity=<-5, 5> +position=< 31929, -31621> velocity=<-3, 3> +position=<-42289, 21402> velocity=< 4, -2> +position=< 42533, 10799> velocity=<-4, -1> +position=<-21102, -52828> velocity=< 2, 5> +position=<-21062, -42225> velocity=< 2, 4> +position=< 53133, -21016> velocity=<-5, 2> +position=< 31969, 53223> velocity=<-3, -5> +position=<-10482, -21021> velocity=< 1, 2> +position=< 21355, 32004> velocity=<-2, -3> +position=<-31664, 21402> velocity=< 3, -2> +position=<-31664, -31626> velocity=< 3, 3> +position=< 10760, -42231> velocity=<-1, 4> +position=<-31684, -31623> velocity=< 3, 3> +position=<-52902, -21015> velocity=< 5, 2> +position=< 42536, 32004> velocity=<-4, -3> +position=<-10442, 32007> velocity=< 1, -3> diff --git a/day10.k b/day10.k new file mode 100644 index 0000000..7ff2995 --- /dev/null +++ b/day10.k @@ -0,0 +1,7 @@ +d:{.:'(x 10+!6; x 18+!6; x 36+!2; x 40+!2)}'1:`day10 +n:*<{r:d[;0]+x*d[;2];(|/r)-(&/r)}'!20000 +(30 80#" "){.[x;y-180 100;:;"#"]}/d[;1 0]+n*d[;3 2] / BXJXJAEX +n / 10605 + + +/ " #"@+(in[;d[;0 1]+n*d[;2 3]])''80 30#+100 180+!80 30 / BXJXJAEX diff --git a/day10.rs b/day10.rs new file mode 100644 index 0000000..447862a --- /dev/null +++ b/day10.rs @@ -0,0 +1,34 @@ +use std::fs::File; +use std::io::{BufRead,BufReader}; + +fn main() { + let f = File::open("day10").unwrap(); + + let v: Vec<(i32,i32,i32,i32)> = BufReader::new(&f).lines() + .map(|l| { + let l = l.unwrap(); + (l[10..16].trim().parse().unwrap(), + l[18..24].trim().parse().unwrap(), + l[36..38].trim().parse().unwrap(), + l[40..42].trim().parse().unwrap()) + }).collect(); + + let p2 = (0..20000).min_by_key(|i| { + let a = v.iter().map(|l| l.0 + i*l.2).max().unwrap(); + let b = v.iter().map(|l| l.0 + i*l.2).min().unwrap(); + (a - b) + }).unwrap(); + + let mut m = [[' '; 30]; 80]; + for l in v { + m[(l.0 + p2*l.2 - 100) as usize][(l.1 + p2*l.3 - 180) as usize] = '#'; + } + + for x in 0..30 { + for y in 0..80 { + print!("{}", m[y][x]); + } + println!(""); + } + println!("{}", p2); +} |