diff --git a/p19.dyalog b/p19.dyalog new file mode 100644 index 0000000..46723ae --- /dev/null +++ b/p19.dyalog @@ -0,0 +1,21 @@ +⎕IO←0 +p←⊃⎕NGET'p19.txt'1 +ip←⍎(⊃p)∩⎕D +addr←{a b c←⍵ ⋄ r[c]←r[a]+r[b]} +addi←{a b c←⍵ ⋄ r[c]←r[a]+b} +mulr←{a b c←⍵ ⋄ r[c]←r[a]×r[b]} +muli←{a b c←⍵ ⋄ r[c]←r[a]×b} +setr←{a b c←⍵ ⋄ r[c]←r[a]} +seti←{a b c←⍵ ⋄ r[c]←a} +gtir←{a b c←⍵ ⋄ r[c]←a>r[b]} +gtrr←{a b c←⍵ ⋄ r[c]←r[a]>r[b]} +gtri←{a b c←⍵ ⋄ r[c]←r[a]>b} +eqir←{a b c←⍵ ⋄ r[c]←a=r[b]} +eqrr←{a b c←⍵ ⋄ r[c]←r[a]=r[b]} +eqri←{a b c←⍵ ⋄ r[c]←r[a]=b} +⎕FX(⊂'r←f r'),{'r[ip]←¯1+⊃⎕LC⋄',⍵,'⋄→2+r[ip]'}¨1↓p +⊃f 6↑0 ⍝ part 1 + +g←{+/⍵{⍵/⍨0=⍵|⍺}1+⍳⍵} +⎕FX(⊂'→0')(@2)⎕NR'f' +g 3⊃f 6↑1 ⍝ part 2 diff --git a/p19.txt b/p19.txt new file mode 100644 index 0000000..3a7db07 --- /dev/null +++ b/p19.txt @@ -0,0 +1,37 @@ +#ip 4 +addi 4 16 4 +seti 1 9 5 +seti 1 5 2 +mulr 5 2 1 +eqrr 1 3 1 +addr 1 4 4 +addi 4 1 4 +addr 5 0 0 +addi 2 1 2 +gtrr 2 3 1 +addr 4 1 4 +seti 2 6 4 +addi 5 1 5 +gtrr 5 3 1 +addr 1 4 4 +seti 1 2 4 +mulr 4 4 4 +addi 3 2 3 +mulr 3 3 3 +mulr 4 3 3 +muli 3 11 3 +addi 1 5 1 +mulr 1 4 1 +addi 1 2 1 +addr 3 1 3 +addr 4 0 4 +seti 0 2 4 +setr 4 8 1 +mulr 1 4 1 +addr 4 1 1 +mulr 4 1 1 +muli 1 14 1 +mulr 1 4 1 +addr 3 1 3 +seti 0 0 0 +seti 0 2 4