From 4af2965c747210abb8ca2a405b45bcd1e513074e Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Wed, 9 Dec 2015 14:17:12 +0100 Subject: day9 --- day9 | 28 ++++++++++++++++++++++++++++ day9.k | 18 ++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 day9 create mode 100644 day9.k diff --git a/day9 b/day9 new file mode 100644 index 0000000..97a6b63 --- /dev/null +++ b/day9 @@ -0,0 +1,28 @@ +Faerun to Tristram = 65 +Faerun to Tambi = 129 +Faerun to Norrath = 144 +Faerun to Snowdin = 71 +Faerun to Straylight = 137 +Faerun to AlphaCentauri = 3 +Faerun to Arbre = 149 +Tristram to Tambi = 63 +Tristram to Norrath = 4 +Tristram to Snowdin = 105 +Tristram to Straylight = 125 +Tristram to AlphaCentauri = 55 +Tristram to Arbre = 14 +Tambi to Norrath = 68 +Tambi to Snowdin = 52 +Tambi to Straylight = 65 +Tambi to AlphaCentauri = 22 +Tambi to Arbre = 143 +Norrath to Snowdin = 8 +Norrath to Straylight = 23 +Norrath to AlphaCentauri = 136 +Norrath to Arbre = 115 +Snowdin to Straylight = 101 +Snowdin to AlphaCentauri = 84 +Snowdin to Arbre = 96 +Straylight to AlphaCentauri = 107 +Straylight to Arbre = 14 +AlphaCentauri to Arbre = 46 diff --git a/day9.k b/day9.k new file mode 100644 index 0000000..4ae90d1 --- /dev/null +++ b/day9.k @@ -0,0 +1,18 @@ +d:0:"day9"; + +ss:{1 _' (&y=y,x) _ y,x}; / split x at y +l:ss[;" "]' d; + +perm: {:[1:'(x,x)#1,x#0)[;0,'1+_f x-1];,!x]}; + +dist:[]; +{.[`dist;`$x[0 2];:; 0$x[4]] + .[`dist;`$x[2 0];:; 0$x[4]] +}'l; + +places: !dist; + +ds:{+/dist':x}'places@perm@#places; + +&/ds / shortest route +|/ds / longest route -- cgit 1.4.1