MIne isn't quite so subtle:
I didn't get round to naming functions, only the constants:
compass =: ;:'n nw sw s se ne'
NB. I started with 0j2 _2j1 etc, but found this slightly easier:
dir =: 0 _2 _2 0 2 2 ,. 2 1 _1 _2 _1 1 NB. avoiding fractions
ex1 =: ','cut'ne,ne,ne' NB. given examples
ex2 =: ','cut'ne,ne,sw,sw'
ex3 =: ','cut'ne,ne,s,s'
ex4 =: ','cut'se,sw,se,sw,sw'
(+/@:((0 2,:2 1)%.~])) every 13 : '|+/dir {~compass i.y' each
ex1;ex2;ex3;<ex4
3 0 2 3
NB. --- Part One ---
(+/@:((0 2,:2 1)%.~])) 13 : '|+/dir {~compass i.y' ','cut input11
...... NB. unspoilt, just in case!
NB. --- Part Two ---
>./(+/@:((0 2,:2 1)%.~]))"1] 13 : '|+/\dir {~compass i.y' ','cut input11
...... NB. unspoilt, just in case!
Cheers,
Mike
On 11/12/2017 20:54, Jimmy Gauvin wrote:
Hi,
I used axial coordinates from https://www.redblobgames.com/grids/hexagons/
to get thru part 1.
Will do part 2 tonite.
>./ | +/hxv {~ dbd i. <;._1 ',', dbi
675
where :
dbi=: }: fread 'C:\Downloads\day11inp'
dbd=: ;:'n s ne nw se sw'
hxv =: 6 2 $ 0 _1 0 1 1 _1 _1 0 1 0 _1 1
dbd,.<"1 hxv
┌──┬────┐
│n │0 _1│
├──┼────┤
│s │0 1 │
├──┼────┤
│ne│1 _1│
├──┼────┤
│nw│_1 0│
├──┼────┤
│se│1 0 │
├──┼────┤
│sw│_1 1│
└──┴────┘
\ n /
nw +--+ ne
/ \
-+ +-
\ /
sw +--+ se
/ s \
On Mon, Dec 11, 2017 at 12:43 PM, Raul Miller <[email protected]> wrote:
I've been struggling with AoC day 11 - either AoC's implementation is
wrong, or mine is.
Here's my implementation:
nms=: ;:'n ne se s sw nw'
dir=: ^j.2p1*(%~ i.)#nms
delta=: dir {~ nms i. ]
location=: +/@delta
furthest=: [: ({~ (i. >./)@:|) +/\@delta
path=:3 :0
nms {~(|: i."_1 <./)|dir -/ 2-/\(- dir&([ {~ [: (i. >./) +/
.*&.+.))^:(0.5 <|)^:a: y
)
showpath=:3 :0
p=. path y
echo 'steps: ',":#p
echo (":,.#/.~p),.' ',.>~.p
)
And here's a translation to python along with a request for help:
https://www.reddit.com/r/adventofcode/comments/7izym2/
2017_day_11_solutions/dr36ujj/
I suppose I might retranslate the python implementation of path back
into J, but they both give the same answer, so I'm convinced that
that's not the issue.
So far, it's only been a few hours, but I've not gotten any real
feedback from reddit, and I've gone over this enough times that I'm
convinced that if I screwed up I've got such a big blind spot that I'm
not going to see through the problem today.
Anyways... if anyone else has some insight here (and/or a better
implementation), I'd love to see it.
Thanks,
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm