day 2
This commit is contained in:
parent
56f51ca599
commit
d5b828b1b9
3 changed files with 2564 additions and 0 deletions
32
2/advanced.nix
Normal file
32
2/advanced.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
with import <nixpkgs/lib>;
|
||||||
|
|
||||||
|
let
|
||||||
|
input = fileContents ./input.txt;
|
||||||
|
|
||||||
|
splitStr = pattern: flip pipe [
|
||||||
|
(strings.split pattern)
|
||||||
|
(filter isString)
|
||||||
|
];
|
||||||
|
|
||||||
|
score = myAction: opponentShape: {
|
||||||
|
X.A = 0 + 3;
|
||||||
|
X.B = 0 + 1;
|
||||||
|
X.C = 0 + 2;
|
||||||
|
Y.A = 3 + 1;
|
||||||
|
Y.B = 3 + 2;
|
||||||
|
Y.C = 3 + 3;
|
||||||
|
Z.A = 6 + 2;
|
||||||
|
Z.B = 6 + 3;
|
||||||
|
Z.C = 6 + 1;
|
||||||
|
}.${myAction}.${opponentShape};
|
||||||
|
in
|
||||||
|
|
||||||
|
pipe input [
|
||||||
|
(splitStr "\n")
|
||||||
|
(map (flip pipe [
|
||||||
|
(splitStr " ")
|
||||||
|
elemAt
|
||||||
|
(get: score (get 1) (get 0))
|
||||||
|
]))
|
||||||
|
(foldl' add 0)
|
||||||
|
]
|
32
2/basic.nix
Normal file
32
2/basic.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
with import <nixpkgs/lib>;
|
||||||
|
|
||||||
|
let
|
||||||
|
input = fileContents ./input.txt;
|
||||||
|
|
||||||
|
splitStr = pattern: flip pipe [
|
||||||
|
(strings.split pattern)
|
||||||
|
(filter isString)
|
||||||
|
];
|
||||||
|
|
||||||
|
score = myShape: opponentShape: {
|
||||||
|
X.A = 3 + 1;
|
||||||
|
X.B = 0 + 1;
|
||||||
|
X.C = 6 + 1;
|
||||||
|
Y.A = 6 + 2;
|
||||||
|
Y.B = 3 + 2;
|
||||||
|
Y.C = 0 + 2;
|
||||||
|
Z.A = 0 + 3;
|
||||||
|
Z.B = 6 + 3;
|
||||||
|
Z.C = 3 + 3;
|
||||||
|
}.${myShape}.${opponentShape};
|
||||||
|
in
|
||||||
|
|
||||||
|
pipe input [
|
||||||
|
(splitStr "\n")
|
||||||
|
(map (flip pipe [
|
||||||
|
(splitStr " ")
|
||||||
|
elemAt
|
||||||
|
(get: score (get 1) (get 0))
|
||||||
|
]))
|
||||||
|
(foldl' add 0)
|
||||||
|
]
|
2500
2/input.txt
Normal file
2500
2/input.txt
Normal file
File diff suppressed because it is too large
Load diff
Reference in a new issue