Compare commits
11 Commits
30124c5410
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
f8f82e80b2 | ||
|
76514a78d5 | ||
|
8ee7085510 | ||
|
5697d36ff1 | ||
|
5930deb3c5 | ||
|
9eadc6a3c1 | ||
|
61b961dc12 | ||
|
c2954ea720 | ||
|
ca600eb280 | ||
|
6b3fcfd9cd | ||
|
8c7ffecb0b |
6
aoc.jl
6
aoc.jl
@@ -16,11 +16,7 @@ function _cookie()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function _get_input(year, day)
|
function _get_input(year, day)
|
||||||
res = HTTP.get(
|
res = HTTP.get("https://adventofcode.com/$year/day/$day/input", cookies = _cookie())
|
||||||
"https://adventofcode.com/$year/day/$day/input",
|
|
||||||
cookies = _cookie(),
|
|
||||||
headers = Dict("User-Agent", "git.fuckwit.dev/fuckwit/aoc2022/src/branch/master/aoc.jl by huanzodev@gmail.com")
|
|
||||||
)
|
|
||||||
if res.status ≠ 200
|
if res.status ≠ 200
|
||||||
error("Unable to fetch infput for AOC $year day $day")
|
error("Unable to fetch infput for AOC $year day $day")
|
||||||
end
|
end
|
||||||
|
138
data/day_10.txt
Normal file
138
data/day_10.txt
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 29
|
||||||
|
addx -28
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 12
|
||||||
|
addx -6
|
||||||
|
noop
|
||||||
|
addx 4
|
||||||
|
addx -1
|
||||||
|
addx 1
|
||||||
|
addx 5
|
||||||
|
addx -31
|
||||||
|
addx 32
|
||||||
|
addx 4
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx -38
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -32
|
||||||
|
addx 33
|
||||||
|
addx -20
|
||||||
|
addx 27
|
||||||
|
addx -39
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -16
|
||||||
|
addx 21
|
||||||
|
addx -1
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 5
|
||||||
|
addx -22
|
||||||
|
addx 26
|
||||||
|
addx -39
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 23
|
||||||
|
noop
|
||||||
|
addx -18
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -27
|
||||||
|
addx 28
|
||||||
|
addx 5
|
||||||
|
addx -11
|
||||||
|
addx -27
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 27
|
||||||
|
addx -26
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 4
|
||||||
|
addx -3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx -33
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 31
|
||||||
|
addx -26
|
||||||
|
addx 6
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 5
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
addx 1
|
||||||
|
addx -12
|
||||||
|
addx 17
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
55
data/day_11.txt
Normal file
55
data/day_11.txt
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
Monkey 0:
|
||||||
|
Starting items: 71, 56, 50, 73
|
||||||
|
Operation: new = old * 11
|
||||||
|
Test: divisible by 13
|
||||||
|
If true: throw to monkey 1
|
||||||
|
If false: throw to monkey 7
|
||||||
|
|
||||||
|
Monkey 1:
|
||||||
|
Starting items: 70, 89, 82
|
||||||
|
Operation: new = old + 1
|
||||||
|
Test: divisible by 7
|
||||||
|
If true: throw to monkey 3
|
||||||
|
If false: throw to monkey 6
|
||||||
|
|
||||||
|
Monkey 2:
|
||||||
|
Starting items: 52, 95
|
||||||
|
Operation: new = old * old
|
||||||
|
Test: divisible by 3
|
||||||
|
If true: throw to monkey 5
|
||||||
|
If false: throw to monkey 4
|
||||||
|
|
||||||
|
Monkey 3:
|
||||||
|
Starting items: 94, 64, 69, 87, 70
|
||||||
|
Operation: new = old + 2
|
||||||
|
Test: divisible by 19
|
||||||
|
If true: throw to monkey 2
|
||||||
|
If false: throw to monkey 6
|
||||||
|
|
||||||
|
Monkey 4:
|
||||||
|
Starting items: 98, 72, 98, 53, 97, 51
|
||||||
|
Operation: new = old + 6
|
||||||
|
Test: divisible by 5
|
||||||
|
If true: throw to monkey 0
|
||||||
|
If false: throw to monkey 5
|
||||||
|
|
||||||
|
Monkey 5:
|
||||||
|
Starting items: 79
|
||||||
|
Operation: new = old + 7
|
||||||
|
Test: divisible by 2
|
||||||
|
If true: throw to monkey 7
|
||||||
|
If false: throw to monkey 0
|
||||||
|
|
||||||
|
Monkey 6:
|
||||||
|
Starting items: 77, 55, 63, 93, 66, 90, 88, 71
|
||||||
|
Operation: new = old * 7
|
||||||
|
Test: divisible by 11
|
||||||
|
If true: throw to monkey 2
|
||||||
|
If false: throw to monkey 4
|
||||||
|
|
||||||
|
Monkey 7:
|
||||||
|
Starting items: 54, 97, 87, 70, 59, 82, 59
|
||||||
|
Operation: new = old + 8
|
||||||
|
Test: divisible by 17
|
||||||
|
If true: throw to monkey 1
|
||||||
|
If false: throw to monkey 3
|
41
data/day_12.txt
Normal file
41
data/day_12.txt
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
abaaaaacccccccccccccccccccccccccccccccccccccccaaaaaaaccccaaaaaaaaaaaaaaaaacccccaaaaaacccccccccccccccccccccccaaaaaaaaccccccccccccccccccccccccccccccccaaaaaa
|
||||||
|
abaaaaaacccaaaacccccccccccccccccccccccaccccccccaaaaaaaaccaaaaaaaaaaaaaaaaccccccaaaaaacccccccccccccccccccccccccaaaaccccccccccccccccccccccccccccccccccaaaaaa
|
||||||
|
abaaaaaacccaaaacccccccccccccccccaaaaaaaacccccccaaaaaaaaacaaaaaaaaaaaaacccccccccaaaaacccccccccccccccccccccccccaaaaacccccccccccccccccccaaaccccccccccccaaaaaa
|
||||||
|
abaaacaccccaaaaccccccccccccccccccaaaaaacccccccccaaaaaaaccccaaaaaaaaaaacccccccccaaaaacccccccccccccccccccccccccaacaaaccccccccccccccccccaaacccccccccccccccaaa
|
||||||
|
abaaacccccccaaacccccccccccaacccccaaaaaaccccccccaaaaaaccccccaacaaaaaaaacccccccccccccccccccccccaaccccccccccccccacccaaaaacccccccccaaccccaaacccccccccccccccaaa
|
||||||
|
abccccccccccccccccccccccccaaaaccaaaaaaaacccccccaaaaaaaccccccccaaaaaaaaaccccccccccaacccccccccaaaccccccccccccccccccacaaacccccccccaaaaccaaacccccccccccccccaac
|
||||||
|
abccccccccccccccccccccccaaaaaacaaaaaaaaaaccccccaaccaaaaacccccaaaaccaaaaccccccccccaaacaacccccaaacaaacccaaccccccccaaaaaaaacccccccaaaaakkkkkkcccccccccccccccc
|
||||||
|
abccccccccccccccccccccccaaaaaccaaaaaaaaaacccccccccccaaaaaaccccacccaaaaaccccccccccaaaaaaccaaaaaaaaaaaaaaaccccccccaaaaaaaaccccccccaaajkkkkkkkaccccccaacccccc
|
||||||
|
abcccccccccccccccccccccccaaaaacacacaaaccccccccccccccaaaaaaccccccccaaaacccccccccaaaaaaacccaaaaaaaaaaaaaaaaaccccccccaaaaaccccccccccjjjkkkkkkkkccaaaaaacccccc
|
||||||
|
abcccccccccccccccccccccccaacaacccccaaacccaccccccccccaaaaaaccccccccaaaacccccccccaaaaaaacccccaaaaaacaaaaaaaacccccccaaaaacccccccjjjjjjjooopppkkkcaaaaaaaccccc
|
||||||
|
abcccccccccccccccccaacaacccccccccccaaaaaaacccccccccccaaaaacccccccccccccccccccccccaaaaaaccccaaaaaaccaaaaaaacccccccaaaaaacciijjjjjjjjoooopppkkkcaaaaaaaacccc
|
||||||
|
abccccccccccaaaccccaaaaacccccccccccccaaaaacccccccccccaaaaccccccccccccccccccccccccaacaaaccccaaaaaaacaaaaacccccccccaccaaaciiiijjjjjjoooopppppkllcaaaaaaacccc
|
||||||
|
abccaaccccccaaaaacaaaaacccccccccccccaaaaaacccccccccccccccccccccccccccccccccccccccaacccccccaaaacaaaaaaaaacccaaccccaaaaaciiiiinoooooooouuuupplllaaaaaacccccc
|
||||||
|
abcaaacccccaaaaaacaaaaaacccccccccccaaaaaaaaccccccccaacaccccccccccccccccccccccccccccccccccccaccccccccccaaccaaaccccaaaaaciiinnnooooooouuuuuppplllaaacacccccc
|
||||||
|
abaaaaaacccaaaaaacccaaaacccccccccccaaaaaaaaccccccccaaaaccccccccccccccccccccccccccccccccccccccccccccccccaaaaacaacaaaaaaiiinnnnntttoouuuuuupppllllcccccccccc
|
||||||
|
abaaaaaaccccaaaaacccaaccccccccccacccccaaccccccccccaaaaaccccccccccccccccccccccccccccccccccccccccccccccccaaaaaaaacaaaaaaiiinnnnttttuuuuxxuuupppllllccccccccc
|
||||||
|
abaaaaacccccaacaaccccccccccccccaaaccccaacccccaacccaaaaaacccccccccccccccccccccccccccccccccccccccccccccccccaaaaaccaaaaaaiiinnnttttxxuuxxyyuuppppllllcccccccc
|
||||||
|
abaaaacccccccccccccccccccccaaacaaaccccccaaacaaaaccacaaaacccccccccccccccccccccccccccccccccccaacccccccccccaaaaaccccaaaccciinnntttxxxxxxxyyvvvqqqqqlllccccccc
|
||||||
|
abaaaaaccccccccccccccccccccaaaaaaaaaacccaaaaaaacccccaaccccccccccccccccccccccccccccccccccccaaacccccccccccaacaaaccccccccciiinntttxxxxxxxyyvvvvvqqqqljjcccccc
|
||||||
|
abccaaaccaccccccccaaacccccccaaaaaaaaaccccaaaaaacccccccccccccccccccccccccccccccaacccccccaaaaacaaccccccccccccaacccccccccchhinnnttxxxxxxyyyyyvvvvqqqjjjcccccc
|
||||||
|
SbccccaaaacccccccaaaaaacccccccaaaaaccccccaaaaaaaaccccccccccccccccccccaaccccccaaaaccccccaaaaaaaacccccccccccccccccccccccchhhnnntttxxxxEzyyyyyvvvqqqjjjcccccc
|
||||||
|
abccccaaaacccccccaaaaaaccccccaaaaaacccccaaaaaaaaaacccccccccccccccccccaaccccccaaaaccccccccaaaaacccccccccccccccccccccccccchhhnntttxxxyyyyyyyvvvvqqqjjjcccccc
|
||||||
|
abcccaaaaaaccccccaaaaaacccccaaaaaaaccccaaaaaaaaaacccccccccccccccccaaaaaaaacccaaaacccccccaaaaaccccccccccccccccccccccccccchhmmmttxxxyyyyyyvvvvvqqqjjjdcccccc
|
||||||
|
abcccaaaaaacccccccaaaaacccccaaacaaacaaaaaaaaaaccccccccccccaaacccccaaaaaaaaccccccccccccccaacaaacccccccaacaaacccccccccccchhhmmmtswwwyyyyyyvvvqqqqjjjjdddcccc
|
||||||
|
abcccccaacccccccccaacaacccccccccccacaaaaaccaaaccccccccccaaaaacccccccaaaacccccccccccccccccccaaccccccccaaaaaacccccccccccchhhmmssswwwwwwyyywvrqqqjjjjdddccccc
|
||||||
|
abcccccccccccccccccccccccccccccccccaaaaaccccaaccccccccacaaaaaacccccaaaaacccccccccccccccccccccccccccccaaaaaacccccccccccchhhmmssswwwwwwywywwrrqjjjjddddccccc
|
||||||
|
abcccccccccccccccccccccccccccccccccaaaaaccccccccaaacaaacaaaaaacccccaaaaaaccccccccccccccccccccccccccccaaaaaaaccccccccccchhmmmsssswwsswwwwwwrrkkjjddddcccccc
|
||||||
|
abccccccccccccccccccccccccccccccccccaaaaacccccccaaaaaaacaaaaaccccccaaccaacccccccccccaaccccccccccccccaaaaaaaacaacaaccccchhhmmmsssssssswwwwrrrkkjddddaaccccc
|
||||||
|
abcccccccccccccccccccccccccaaaaaccccaacccccccccccaaaaaacaaaaacccccccccccccaacccccccaaaaaacccccccccccaaaaaaaacaaaaaccccchhgmmmmssssssrrwwwrrrkkddddaaaccccc
|
||||||
|
abcccccccccccccccccccccccccaaaaacccccccccccccccccaaaaaaaacccccccccccccccaaaaaaccccccaaaaaccccaaccccccccaaacccaaaaaaccccgggmmmmmmllllrrrrrrrkkkeedaaaaccccc
|
||||||
|
abcccccccccccaaccccccccccccaaaaaacccccccccccccccaaaaaaaaacccccccccccccccaaaaaaccccaaaaaaacccaaaacccccccaaccccaaaaaaccccggggmmmmllllllrrrrrkkkkeedaaaaacccc
|
||||||
|
abcccccccccccaaacaacaaaccccaaaaaaccccccccccccccaaaaaaaaaacccccccccccccccaaaaaaccccaaaaaaaaccaaaacccccccccccccaaaaaccccccgggggglllllllllrrkkkkeeeaaaaaacccc
|
||||||
|
abcccccccccccaaaaaacaaaacccaaaaaaccccccccccccccaaacaaaaaaccccccccccccccccaaaaaccccaaaaaaaaccaaaacccccccccccaaccaaaccccccgggggggggffflllkkkkkkeeeaaaaaacccc
|
||||||
|
abaccccccccaaaaaaaccaaaacccccaaacccccccccccccccccccaaaaaacaccccccccaaccccaaaacccccccaaacacccccccccccccccaaaaaccccccccccccccgggggffffflllkkkkeeeccaaacccccc
|
||||||
|
abaccccccccaaaaaaaccaaacccccccccccccccccaaaccccccccaaacaaaaaccccccaaacccccccccccccaaaacccccccccccccccccccaaaaaccccccccccccccccccaffffffkkkeeeeeccaaccccccc
|
||||||
|
abaaaccccccccaaaaaaccccccccccccccccccccaaaaaacccccccaaaaaaaacaaaacaaacccccccccaaaaaacccccccccccccccccccccaaaaaccccccccccccccccccccaffffffeeeeecccccccccccc
|
||||||
|
abaacccccccccaacaaaccccccccccccccccccccaaaaaaccccccccaaaaaccaaaaaaaaacccccccccaaaaaaaaccccccccccaaccccccaaaaacccccccccccccccccccccaaaffffeeeecccccccccccaa
|
||||||
|
abaacccccccccaaccccccccccccccccaaccccccaaaaacaaccaacccaaaaacaaaaaaaaacccccccccaaaaaaaaccccccaaacaacccccccccaacccccccccccccccccccccaaaccceaecccccccccccccaa
|
||||||
|
abaacccccccccccccccccccccccccccaaaaaacccaaaaaaaaaaaccaaacaaccaaaaaaaaaaaaacccccaaaaaaacccccccaaaaaccccccccccccccccccccccccccccccccaaacccccccccccccccaaacaa
|
||||||
|
abcccccccccccccccccccccccccccccaaaaaccccaacaacaaaaacccaaccccccaaaaaaaaaaaacccccaaaaacccccccccaaaaaaaccccccccccccccccccccccccccccccaaacccccccccccccccaaaaaa
|
||||||
|
abcccccccccccccccccccccccccccaaaaaaaccccccccaaaaaaaaccccccccccaaaaaaaaaaccccccaaaaaaccccccccaaaaaaaaccccccccccccccccccccccccccccccccccccccccccccccccaaaaaa
|
2500
data/day_2.txt
Normal file
2500
data/day_2.txt
Normal file
File diff suppressed because it is too large
Load Diff
300
data/day_3.txt
Normal file
300
data/day_3.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
GwrhJPDJCZFRcwfZWV
|
||||||
|
LjnQlqNpjjmpmQlLlqNfZRvQcTWcTSTTZcSQcZ
|
||||||
|
nNqjdspspngnmjmslqmjjjCDGrHPHMGddGCMCGPPPJWC
|
||||||
|
GwmVZmPWWFFmBbVbZVwmbPsTCnlgQgnQfhlffffZnlQh
|
||||||
|
DqVDSqqSMzLLDDNSHHLdqSdSllCQjsTlClhlflnTlhjgfgfM
|
||||||
|
VHJztNLHGtcbvvPG
|
||||||
|
bjrPrNCtNrjdcCPpptfpTVspDtfTtB
|
||||||
|
JGQJMJQMmmmZMnnLpLBTpHCD
|
||||||
|
WJJqWRgWlCJZhZRCQZwdPScdrPNbvzPzwvqz
|
||||||
|
QNSQNBWQNLjZBNNhLhSNRsTcsrTTVzcwZZZsfrrbwb
|
||||||
|
tCFtHpppppMldpvpqnMFmMVGrbPcrwbzswrzcccfvTfw
|
||||||
|
pdmCpgqCdmHHdJVWgSRNJDRVVj
|
||||||
|
sNrFnvNSzrjQtQjQTj
|
||||||
|
lcPmcJDLdPDbJPVLljdGGBBThBQTGwTtBw
|
||||||
|
PDLqmJmpJQfFqfqsCM
|
||||||
|
BnhctqdnqnRcBnslCJJCMrJrsG
|
||||||
|
wNDMZpbQwMpCvCGVjlss
|
||||||
|
WfzNwZFbwZzZmFZbLzNwzzzzcdqgRMTTPdHPTTPMRdcWgRPt
|
||||||
|
grsrVSFSSdFSDFVFjZZWwpWpZWZplgZZ
|
||||||
|
mcBPPPBLBfNdLlvvWljWJC
|
||||||
|
dMcmcRdbRzdVhFthSsTShM
|
||||||
|
bzvJZMTzTZSHLCCdDzmDcc
|
||||||
|
hqBqWPFssvshWvvssNqtsHftmfpHfdcdDGHmcpfctL
|
||||||
|
WvBQgNNNhghTJbJQlJTZlT
|
||||||
|
chcdwNwdbCbQctCjnnQGHsQspMHMjG
|
||||||
|
nSSSJqJZzJgWWRfZDJSnqvTTsVvvHVPpHVfpjHMTjP
|
||||||
|
BZRDRmmrDWSrZWWzWSRNhdnCFwChclFtwbNdtr
|
||||||
|
lNgmssCtqLwqCCtfsCLHPFhhhmMhVzBDbVzMDMVz
|
||||||
|
ZnRlQTlJzFQFQFVV
|
||||||
|
npZJvRRGZSnWvSvrSLglsClfpfcLgNgpHf
|
||||||
|
tVtqcVqFVtZhcfFtqlgSpmpDSDNPzSzZmNpw
|
||||||
|
LRGTHqbrHdnGHrTCSSwNDzMDwPMzNwbp
|
||||||
|
TqWGJrGHCHnTWnhsWcFthFjtfQch
|
||||||
|
qNnTbwtctvffFcqfrHjMrFjVHRjSjZDZ
|
||||||
|
dLLzWWPmCmCzGdsLgBLGGBDRMVMHRlrrrZDDZsNMrNNS
|
||||||
|
PJQWggCzWNWJzGWfchvfTbJvfnnwtf
|
||||||
|
ghzdgzzdQsdqzzhMNqQzvhgQnRRBWTjWWGTRGWwGTZhwGnBT
|
||||||
|
fsrfJHbFfDFLVLVFHrWCWrBRZZTGCCjwWZ
|
||||||
|
HLLllcDPbLPQdPspMNgvMt
|
||||||
|
fNDJqdPNbtHpCbwpCCCp
|
||||||
|
RTMRLrzGrMRMRPWnnvSmgCHFCCFmmT
|
||||||
|
WQsWQjzGWMsGQzWclQtVBJfBftNdtqVPfP
|
||||||
|
gbTCVVmDVFdsgmgrrcfwlwfTfPlcRR
|
||||||
|
qhQZqQvnQhLQhJnvfPcSwSwlfjGcqjqj
|
||||||
|
tLNZLZZJJZthpzhMZDCdFmFsmWWmtDDgsw
|
||||||
|
bqCvLvLppzPzPPvPbFztFtttBNGdGsRggSgGSHDdggHSzNgH
|
||||||
|
rMQpWfMfrcTjWJhwWHHsSBsRBdSTTNBgSR
|
||||||
|
VwfmWjwMWwccrWcWpQQFnFtlCqmltFnFLbbZmn
|
||||||
|
cWqsMWJMzqJJMHsJcqsJqTqjSbLBdfdSbtzLbbLfbSfShfhd
|
||||||
|
gplGvQmRrCrgZSZtSGZZjhbj
|
||||||
|
CQmmmmNQRPvjgRClCvmmcVHPqMFMFsWJVqFFcnTJ
|
||||||
|
QHHqvGwjjWNqvGTQGvTFcGwJRJbszcPtDbJVbtPzVbDptp
|
||||||
|
MLdrgmSgZZdhdfbLVRpszlRDstRL
|
||||||
|
gdSgMCSfdMnrghCWGRQvHwvNHjnjvv
|
||||||
|
RDBZwvZBrMlsvnlb
|
||||||
|
WdFQqdjWWcHHPrwSPnnSWnSS
|
||||||
|
mLdqgqHmcjHHjqLHjLppmhfBfgtDtBJZJfVtBZwGZB
|
||||||
|
CCWRJQnZlHtHtNZRFDcBhrcvhDrJVVDv
|
||||||
|
dPPSqLzfsqGLSTzfLzLGdLMVVgvBcmgMVwmmDFrVgmBBBr
|
||||||
|
SFjdTGzqpjdRbNRNnjtnQR
|
||||||
|
hjNcwBDDwDFcjdFfjtFhtcRsGGgTsGRRRTsGGqZGRq
|
||||||
|
gbmrLnbzLmvQJnQVVpqZTqzWSCRpqRTsSR
|
||||||
|
MQMvVMbPQQHrQMnMPldtwNNfgHtlwBhdwj
|
||||||
|
zwzwpzMfzrBMWfCCZrwzrMJDGGGnNmGNZvgNZsDDsGsG
|
||||||
|
FbFqSbcSbSHqTjmgGFnJglllsDJm
|
||||||
|
TbhVdVjqdtqTjVHqjPdthPBBWpCnRfwRPRCfBCCnWR
|
||||||
|
hlpmbfJJpCSChmJMmrSjTjcSdjTtQQTtTtjF
|
||||||
|
gqrgsqLzgnBgZGzHBnnsQNNQtjjcNNjjtNFQNcNH
|
||||||
|
LVRzgGGzzzPCVrJMbPJb
|
||||||
|
VHrmqFnVdvlzzNrr
|
||||||
|
PMtwBJPBcPwfbwBJndplLvLdLlgMMzLL
|
||||||
|
bBZnTwbtnScfQJPJwPTjqGZFsVFjDHHGhhHhVj
|
||||||
|
cftqScHJrfVfrrRZ
|
||||||
|
DTTsDvvlBbTGrWBwwsWDBbWdVpZjjZjpVPPGhRRVjVZNRPNN
|
||||||
|
lsWdWDbrTLBsbdrmdwbMJtmHMQJccFHFnJFqFt
|
||||||
|
SWNPTPVSWChCSmQQhpppJdFJLpDpgLJmLd
|
||||||
|
NGGtNtGfHtDpdJdqLB
|
||||||
|
NcsNGNjHZsZGnzZfnGhQnhPClrVlQPhTVVhl
|
||||||
|
QDdgMBsNhhMgcWbZdzmWLzFzWH
|
||||||
|
fRqRJJqGCvrJGjCRRrSJlfPtHzzPmfFbtPtLZZLnmt
|
||||||
|
VjvwwjlwVGGqJSSqJFccshpgNhQNQTsVgBgT
|
||||||
|
wvDLDwCbFgSTfTSJJgfB
|
||||||
|
qsRhmhqchmVhPdfTHJSzpCtJpfPf
|
||||||
|
hmdhrWrddmhlqCRcwQjDLMQnMFDZnlLl
|
||||||
|
trMWtlwwMplMZMCZWltDpzBLBnflVLBbHzbBSGlVlL
|
||||||
|
ghhqJTfmjQjfqqznznnHnBRzBLmn
|
||||||
|
sQhPQsjjQcQcTsPqZWwwZcFfWrWcrZww
|
||||||
|
MRVpVCZZTHWVMCHvgNvVvbQSqgQSlg
|
||||||
|
NFmnrNDDfnjFnndfssmcStvjvQQlvzvllqvwQllj
|
||||||
|
GGPNmBrFNdcfcGrsGcdmDFhJHMMhHLZJMhpLHCMMMMPJ
|
||||||
|
DSvDGdGFlGGnDZFdVSZvfPqwnfhpnrqpPNpLPrrh
|
||||||
|
sWcTjtHCsTmsCNfgMPjpfPhqhP
|
||||||
|
BtHzBzChzBBvFSDJvVzFJJ
|
||||||
|
sfsNrsFFBTfjwwtNNWHPVCVWtSCDDCDmmS
|
||||||
|
zMdhMMZnSccMmmWVWmCPlC
|
||||||
|
cLSScJZQbcvLhZvnzBwfTjrpNwNrBFffpb
|
||||||
|
TBrCBgrTngVQBVbhrCtgJJrGssGsMGRGcjMcNjfN
|
||||||
|
LZdSLvHMFdzFRWsLjcGRWWNJ
|
||||||
|
pHpzlqPqFPvdBthgMbVPDhgh
|
||||||
|
SZlnZZvBvvMrcBnllBMZSvhGMtQwFMGztthfwQtMwwPf
|
||||||
|
HLqsDgNsDLDDDjggHDHszthzFbQGTghPGQPbTfFT
|
||||||
|
dmLqDqCmFNjJsjHdssFNHDVWZccnRllnVZvRSBZrZlCc
|
||||||
|
SccnnSGGftShfHSHHhnvbMjvVlCjzbVzzbMMTbCB
|
||||||
|
gRpppNNQLWqZgPZwNWwwBMBbDlZCTzVTjHMMbBjV
|
||||||
|
dqNQPQRqrqpPcGtchhdfhHSF
|
||||||
|
mfDzgnNMMszBtJCpHlrjnFppCdHj
|
||||||
|
LLRThGGZcbClBQpdWFGl
|
||||||
|
bSqVTbBbMVMsNmNM
|
||||||
|
BTTbbLVpfchmjbsj
|
||||||
|
JSQJHDMHqdNZTZlhFFhCFFrNhNcsrr
|
||||||
|
tMwJQlwMMlQwDDJtWGLGPpWLLGnTPn
|
||||||
|
LcVQQCPPLqTzqQTcllTzhnHHfFJRcGHcFfwRGHwJjJ
|
||||||
|
stdWDDBtVgbpWgZbsNgDNdWFGMnnwHfjHFpfwwMGMMGRjJ
|
||||||
|
ZWSDtgNdWNBdgsdsNDDsdbDlTzCVSTCqQmSqTQSvhqLVQq
|
||||||
|
dZbgdZbNtmqttFJtHHzcczMcFszHnsvH
|
||||||
|
wwpQplQQwqVVjqwPjCGCSMCMcHSHvvzHMzvcsrMc
|
||||||
|
pfjlQRpPRRLQWtmLNdWdmqqJ
|
||||||
|
CPTPPmbjmVjVGCvzbjjPrGsnnMpttdtGdncdMccDRd
|
||||||
|
lhlHzQSHwzhJLwgWgpMDMMsDdcDQMDMMns
|
||||||
|
BHZghLWwSFBJJBFvzmbfjNZvZmCvmb
|
||||||
|
PBGcvvcRwpwNcZcNPpPNcTHGdMtrCWrCCtCLWMtWgbVdMV
|
||||||
|
fmsJjnqmmfsjQJnjFzSFSqsqgWrtMttZgMWVMbbVMdbSrLtr
|
||||||
|
qQjjZFmfjZhZmwcvPhNpTNBTwN
|
||||||
|
HHlVVmmsbbqMsJmVzGSBMSrQQrRrGvvnDn
|
||||||
|
PZcphZPPZPhjcpdWgPZhRPfcDSrtDBSGNvtggrQtnvQNGNDn
|
||||||
|
dcWwFjpcPhRcCpjwdCPLzHblJbLbzmsmbTwzqH
|
||||||
|
hRfzTTfRrTGzhGWTrRrbfcQZQSttWtwddJtvdJJvWSHq
|
||||||
|
npjnDjFlpDnFFNMjljCnFMQtHHtqNHNQJwwZZqstNwJJ
|
||||||
|
DCjpLjjpVLDMDpVLDLQbbhzBhVrcVgVGQQcz
|
||||||
|
LncLBLjCSNrNrNpCLQBBBGwqQwzlzmggvqRqgllmzwtv
|
||||||
|
fMZPHhhHfthMdbRgHJzmVqlvwlwg
|
||||||
|
hfsPbZFPPDsfGLcBtSFNBSjL
|
||||||
|
MlZmszBMJBHrMBMbShwSFpbZSZfwwb
|
||||||
|
TCLCcPNGTgTPNGWtCtcWtPcSsRfRjRwjFbfpNFDjwsFspw
|
||||||
|
nVtqqsWsdHzJHqmM
|
||||||
|
RCrhSmWrmrvmrvhMvRNrRCzCJcQQbPtsMZVGJJtsZssPcQcZ
|
||||||
|
jLFBGqLFpqBLgZVbPbsLJQcbsV
|
||||||
|
HjDljGFwrRHRRTrS
|
||||||
|
GZZhnrwZBwNjRPRCbCbn
|
||||||
|
fJtJJpsVfpgNTbVNFTRP
|
||||||
|
JJcpLJfLdcWLdplwRdQMBvSqwRhvrG
|
||||||
|
wmZDPlRlCDwglgsHtsBvdBHLFLSddr
|
||||||
|
VbVMnMftfVjQWFFHdMBdBFMFHr
|
||||||
|
zfjtnGqqnjGqfjPcDPlZPlRDzccw
|
||||||
|
BRjhfhvRgnTMlFDDJfZzZFFQDZ
|
||||||
|
qLdqcNttwwcwwSPSpqLNmrwmrZsGzzDFZGZFzVssrzJGnsQG
|
||||||
|
wSNdHScScdmwHSpdNcmmtLMvChRHbvBMTBnCBBvhvlCh
|
||||||
|
JgWTPfFPgCPPlCntQSGghHvQnSdQ
|
||||||
|
BzvMZvLVQpdQpSZh
|
||||||
|
RwVVjRDVcRDNDTlJPqTv
|
||||||
|
SGHSrBBRPhPPHQcTccQTRRQjTN
|
||||||
|
vvWvspCbzWVWVrWdjj
|
||||||
|
wZpDzCDgDbCZJZzJGlrlqPqnqPllmH
|
||||||
|
FCncCrDWMLCbjMCcFpLdzZfmZzwwWzdzNRZdWB
|
||||||
|
sqsgTqHSqllNldMwlZzJ
|
||||||
|
MtHPTgQhvhhqcrDrrDpjLCQc
|
||||||
|
pPPvmPWSClqqPvqCmSwqmgGBWDjhGLHfjhDLJGjBBhNj
|
||||||
|
zrbdcdMndcRdTrsMcbTRdzRFVHjLjDjNLNHsfDhNGjhJNhDj
|
||||||
|
RdFFcnTdZcTrRRdFFbZtwQCPQglvPlwJwQPZSqqP
|
||||||
|
wlmbvwmvQvWQsvmbsSsQbswlRCNPfCTcTRVCffPtTSCPNRVP
|
||||||
|
FhJJJFgFqJGBtDpJhTTcVcVhdcCdCdTV
|
||||||
|
GDFtgLFnqqDGqGZsQvsllrjbLjbrvw
|
||||||
|
lnFSnJvmgvLlfnJpgnsjnjgfDQWqCJqZdDtDCtCtCdDrtDDQ
|
||||||
|
VTBBMPFcNNtMZDMW
|
||||||
|
VTGbzGGhTbTGHwVPvvFnfpvjgHnfjppp
|
||||||
|
JJwHqvlvDjljDwJFlZjZDwHNNsMqhNpphNpmNVzpsnsnRV
|
||||||
|
mTLgrLLcLSTTTdmPPfrrrnssNhRNWhgngzMWzgzVnM
|
||||||
|
SmTfdSBbBJbtjJvljl
|
||||||
|
bPNLwTCLLQQqtJsf
|
||||||
|
zdnnZVlWWGGRWGWdgdSStQMqJSMRptftbsMf
|
||||||
|
FWbvgvZZZZgnTmwrrhrFPCrP
|
||||||
|
HcGzzszFGllHWHbZspHbHGsHTwwrTrLLCNjSZwNjNjjCCNLj
|
||||||
|
PBJMJQJDDDnDggRhMdRSLmjTmTwwVjVQSvvwvC
|
||||||
|
RqfdhgDPDJDqJJnBdfzWWHcstslcbtStfHzl
|
||||||
|
zvRRlCqrdNdZcZpjBpVwjsmjsm
|
||||||
|
fgbTDqbhGfDnLDnLLqLhFmsHpTPHjHppppBwpwws
|
||||||
|
nhnnnDDngDtDbfSbDnGhhgRlNvQdQqNvQvtcQQNJRNJN
|
||||||
|
cZbCcbbScCbcmPGjPfSBQQSq
|
||||||
|
lnMnnVsMVvmzzGMDzPDf
|
||||||
|
LhrTsTTglrnsrrWWVvlwTnNtcpZRCmhtbCZFdttZbRCp
|
||||||
|
NWrFPZVWNVrvvrhtnNdddtpldmjm
|
||||||
|
DcBQBDsJbCwQnbtdzmjjjljbpjbz
|
||||||
|
qCDcGsDJGCcBDBcswJnBJQDfWfqgvZSvgZPfrVSWvPvZZZ
|
||||||
|
vcsdHdGtHtMHMFtVsddsWCcbppZwjScLpWhbjRWR
|
||||||
|
NTwrnzJrgTPrDwnlphRpjSpWbJJLLZWj
|
||||||
|
TlDPfPnzzlzTBzzvQFFBHMtVtqBqqw
|
||||||
|
NHnqqfZvZBNHHvgfrSlJrJCSllJRVrCn
|
||||||
|
TDTdhLMWjFcddMJPSSPJRmlCPz
|
||||||
|
bljWFdLLTDLtdFtLlwZvqfbgwwHfwqHNvw
|
||||||
|
BRRjhRQndRNVqBjRVhFLccjpwMmLmjHmgFHH
|
||||||
|
fZJfJvzPPWtWWlltZzZPpcgFMsFFwwFdpHdgwtdw
|
||||||
|
PCrdrzzfWCPdvSlqTqNSDnnQVVQQGT
|
||||||
|
DjbfBMDSfBljBsLSjSZbzrGtPtMCPtVPvvqrzqzG
|
||||||
|
mWdJWcppcNTdpppjzjRRVrPRpq
|
||||||
|
QncmnHwmdTmwQcmjNTfgfhlBShshhsffnfbB
|
||||||
|
WGDsMJsrjHCWtDMGDDVQqSvZqfSJzSnvnvvv
|
||||||
|
LgLFLFBFLVVzfBzMqZ
|
||||||
|
lgmFcwLhNcwdwwMLwhmcRDjNpCWRsWRspGGssHCp
|
||||||
|
PnPzNccnjFfvCvhbSBVcWqdhSVhV
|
||||||
|
psGMDQJDDDJgQNDHHJbwqwBsVqqZVWBBhBdd
|
||||||
|
DlDJDQGptpgpGDfTRnrTrFPnNTlf
|
||||||
|
MSSSMLLmFHcDScSq
|
||||||
|
ppZnCsbjPZpnnJcbRDmzHJqRRD
|
||||||
|
pmNmnGnQNnClZGMVMdBGrMgVWg
|
||||||
|
lsTTGcQzBcljCcQzGcGjGptttpmvSJtmggtwwswwtS
|
||||||
|
qZRnrhMbRVdhZRhhdnnVRPbmwSNwNNHtmJBvwpvtwNSvSb
|
||||||
|
VnMrqrrdqhZrnrBLLlzzlQjQjLfTcGfFDF
|
||||||
|
dJJTlHvhZqZlQTJnSgQDzgsSbScsSBzc
|
||||||
|
RRNtGjCCpRPPpRtjfrttRzmbscLsLZLgcsbmLzSGLB
|
||||||
|
wfNttfNrtWwPNNFfRtpfrdJMTTTZTMZTTVTlVwTlvM
|
||||||
|
PQTGLmdNTgPmGgNNdCPLQlrMqBrDzMCMFqDqFqjVCBCD
|
||||||
|
hhRwwvpSFmzDrmFh
|
||||||
|
vwwZfSfsmvtSspnZLLLdLGWPTGTQtTWG
|
||||||
|
pMcWzWFvWhFpPMWzvvhpdprHTZTQrHrQdZTJdfTgQTnJ
|
||||||
|
CGbjBbNjjDmRHJDgrTVVZg
|
||||||
|
NNttGlGqNLsbtlhMFMFcMLwMvvZz
|
||||||
|
CGSCBNCQBtBCQttBwCGtGtQrqrLrJqZHLHbqHvLDHLrq
|
||||||
|
nVVhPMfVdfVPbfqLLqgDDqPvgZsv
|
||||||
|
cpVncbfnhFcBltTplpmTBC
|
||||||
|
MrdcdStbMnddtRBdqMnFmbqGCwqCVHVsNHwPfGVPqsCsCs
|
||||||
|
DBLllzWWQQzlZVVVCsGWHfsH
|
||||||
|
JQphjTgBjlLgjjpTpLgvTjQnnnSJJRRFmdbRRSdMRtmdMc
|
||||||
|
QbRZMSWMblwLsgpwZzqZ
|
||||||
|
BFncBrfcdNrrnVrNjsFzFTJpJLGJsGqLTp
|
||||||
|
VjhDDBdrfdhQMllzHmPQMh
|
||||||
|
LdVVjFVFbpVGRQGllG
|
||||||
|
cNMcJNHzJWJtCWHNJHcHczWpGmmhMQmBBqrlRhBmpGpGBQ
|
||||||
|
JZzTTtCZtHCJnNnNwPfbFpnfdDdLdnvP
|
||||||
|
TpMlrWTTddjmlmDmgQgRtw
|
||||||
|
MNNVMSsVSNSnNVMFLDqwtGgRRtGbgFRwtR
|
||||||
|
CCLSCPSCZZHVCfZscBJJhPphpdpprdhjJM
|
||||||
|
gSMSHJHsMMpzRgHzsRMPPSzsPhtZtZdqdDqQDhdCdZmQldht
|
||||||
|
FCcCnrGcNTfvvtqqfvlflQ
|
||||||
|
TrTrWNWwrTJLMzJCzWLL
|
||||||
|
TpTzwMrfbrpFpMbFrrrzbPSdZmtSZRTlTZRlmdCVlCtJ
|
||||||
|
vqvWgqDJQJsQCVtZgdZdRRGd
|
||||||
|
vsvLJLchWBcqnvczwjLfzPjfrjzPrz
|
||||||
|
zqzbqCFZgmzzmNmf
|
||||||
|
vpRWSbRVbVWddVpwvwdRSwnSNgLHsnfNgMmgMLMmnrns
|
||||||
|
DwWVpJRlpdbpRDWdGJGcGlhFtPPCqCCBFqZPQttlqFBq
|
||||||
|
wQRlwtBJBDwttJdGvLfBvHLLfTLz
|
||||||
|
MMmNZcMrcMFnRHzfjjvvHfvc
|
||||||
|
FggpbFnhrNNrrMrMbMbnhQVJVhstJwqWCVCRsQJQ
|
||||||
|
DQbCGblQlpQFQlHjCbjwDQQMggNmJmgnnpRBngfZmNgJMf
|
||||||
|
zvhWccWVdWBchdssPrrWZZZfmsmmmgsnZZJRsRTf
|
||||||
|
zBdtqPccWPHFCqCCqljq
|
||||||
|
ttrbRMmgtHgfmHSfBpLfnBBZBppB
|
||||||
|
CVTJDCCNPwCPDwcqzmddQZdTQdnLBQThWp
|
||||||
|
zwFDjwDJJPzjzVNcVJwCcbRHGmbbMrFHgHvrsgbblG
|
||||||
|
gZjjwHqHCzrMZVVR
|
||||||
|
hhzcdTzPrVhVCGMb
|
||||||
|
fPcmLPNffsccJDdNDjBnpwzmHqgWjHwwvg
|
||||||
|
SJQFSvQBlzbSCgdPPddPPPSN
|
||||||
|
pcrjcWLwwcHcgPNgTPLMNTCB
|
||||||
|
pRsjsWRnrpHRmrBrHrjlbJFvvzQFnzQblQDDbJ
|
||||||
|
VjQVMQPVMfVPPbGPHHbGJD
|
||||||
|
pcqSttltsbDGddsCJG
|
||||||
|
TSchqLtTLFhgQbMMQMrr
|
||||||
|
trqzMRwNTtDzLPJQgWmjmjrf
|
||||||
|
lbBQdpZbsmhGmZhmmG
|
||||||
|
llVbpCplvvHBBHpnRDcDRRqnRRQnFRzT
|
||||||
|
SLSSFFmzLShsVSSHnLnrJdbnRdZZbrRw
|
||||||
|
qCfWBftpNWNNlqvTpwrRbGGCnwGmgRJGZn
|
||||||
|
NcTBNpvWvBWpMftNffpqWlTpmzPDQPSzFVMsFQVhHsjHszss
|
||||||
|
VtJtNBRBGDpdpNbC
|
||||||
|
QgLncnttvFcwwhLvFjSGsSbmmQCSDdpCmpdG
|
||||||
|
vLgjLhhrctMvLFFjLtMTLMgfPZqBZPZzJBBfWZZPRZZTRV
|
||||||
|
mJzDJJpJBvfsGMQnBM
|
||||||
|
CwPWCLRRWwRqwPqhPsrZrnrlhhQrMTrvZl
|
||||||
|
dCdLLSPRLSqWqVSLqLjgJDzDmtbngFVtJtzz
|
||||||
|
mtgWtMWrqjzQTTjghwwfczlNJdlcJnlc
|
||||||
|
FvRsDPPFGRBFvvslwDnTlcTTdwndlh
|
||||||
|
SGBZRBTsFGBRvLpvSCmgQWQjgggMrQjmmSmW
|
||||||
|
GcsRrQhrVVjhRcWlnDFGGmvntDWZ
|
||||||
|
TPbSgJJgBSCbCTbLHMCMTTZdFHvtZlWZDZFzmzZHZmmF
|
||||||
|
gBCMCSpbPMMPjcjqQQpqQprv
|
||||||
|
nZJcnZwvwzvTTTVtpDFnHH
|
||||||
|
DQPBqGGGdMdTRHRBpNgFNR
|
||||||
|
dCGPfhPWQdWWWCWShWPqrChWLLwLswjcvSJbvbLjJLbzJbJD
|
||||||
|
QrBQtdtrQBrdtFHPrdQBDvGhLGnPnCWnmpDmLpmD
|
||||||
|
NjlRJRlNzJJVbSSRVZwwJcmpWDGCWnbchnLCCmnWCG
|
||||||
|
llSJzsZzMMlsSZjSjZwJNQqtHHdBFsqdfTHhqFftQB
|
||||||
|
zdTJFHTdDBzrNdMnhNnNdM
|
||||||
|
ZlLZZcLtVtcWtGjtzLjLZjCrnVNrnRbrQQbQSRVrRnSNqS
|
||||||
|
lZtGtCvjZPCGCctPpsDDBzTHFmPmFszD
|
||||||
|
mQSMvdMQtQdZhQrPWCPqPQrN
|
||||||
|
RwjwnZGzJFTZgzggzJDDwJnCPPhNNqPrLhrGNcWcWNPqCq
|
||||||
|
ZTzDfnwFzTngTwJvfSlMtMMlmsHmHt
|
||||||
|
lZlmFRVZWmgQWhRsRpJsCJpJct
|
||||||
|
PTbPTGTGwwGrbdfjNNZJvcCsCZtvpTsh
|
||||||
|
bGdBBqGrdBPjDMzzVFZgqQzFFL
|
||||||
|
szvsmLvppPPtzGLGWpVdTSHTNgjHQRmHTgSH
|
||||||
|
FnBMBNZwZNcnDZMcnZlZgwgdQTTHjVJjHHVRQHJj
|
||||||
|
DnZrFCMZMNffrLPbLsfW
|
||||||
|
rJvmnBgnrCrGRSGNQR
|
||||||
|
hthjNfhwctwpjTLtVLjTGSpldSCGSPdlPSRzSqSz
|
||||||
|
TVcTfHNFcwtjMhTvgbHZsBbWmmZbnH
|
||||||
|
WsQgstQmvQJnssWsWPzhRzhBjZBSBRZSnj
|
||||||
|
qwCNqFwDrrlDrFPvRhTSPPzLRz
|
||||||
|
bppqwppCddlvfbDNVgmMmtMfVVmfmVWW
|
1000
data/day_4.txt
Normal file
1000
data/day_4.txt
Normal file
File diff suppressed because it is too large
Load Diff
512
data/day_5.txt
Normal file
512
data/day_5.txt
Normal file
@@ -0,0 +1,512 @@
|
|||||||
|
[N] [G] [Q]
|
||||||
|
[H] [B] [B] [R] [H]
|
||||||
|
[S] [N] [Q] [M] [T] [Z]
|
||||||
|
[J] [T] [R] [V] [H] [R] [S]
|
||||||
|
[F] [Q] [W] [T] [V] [J] [V] [M]
|
||||||
|
[W] [P] [V] [S] [F] [B] [Q] [J] [H]
|
||||||
|
[T] [R] [Q] [B] [D] [D] [B] [N] [N]
|
||||||
|
[D] [H] [L] [N] [N] [M] [D] [D] [B]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 3 from 1 to 2
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 5 from 4 to 6
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 5 from 2 to 6
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 16 from 6 to 4
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 7 from 2 to 4
|
||||||
|
move 5 from 9 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 3 from 7 to 4
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 31 from 4 to 8
|
||||||
|
move 22 from 8 to 4
|
||||||
|
move 9 from 3 to 6
|
||||||
|
move 7 from 9 to 5
|
||||||
|
move 4 from 5 to 6
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 4 from 5 to 4
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 7 from 6 to 4
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 8 from 8 to 1
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 4 from 1 to 5
|
||||||
|
move 9 from 4 to 8
|
||||||
|
move 4 from 1 to 7
|
||||||
|
move 3 from 5 to 3
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 19 from 4 to 1
|
||||||
|
move 4 from 4 to 2
|
||||||
|
move 6 from 1 to 4
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 4 from 4 to 3
|
||||||
|
move 7 from 7 to 3
|
||||||
|
move 7 from 8 to 2
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 3 from 2 to 1
|
||||||
|
move 8 from 8 to 2
|
||||||
|
move 3 from 9 to 1
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 10 from 2 to 7
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 10 from 1 to 3
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 7 from 3 to 2
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 11 from 7 to 2
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 5 from 8 to 9
|
||||||
|
move 17 from 2 to 4
|
||||||
|
move 11 from 1 to 5
|
||||||
|
move 4 from 1 to 3
|
||||||
|
move 5 from 9 to 2
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 3 from 5 to 7
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 6 from 1 to 8
|
||||||
|
move 3 from 8 to 5
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 15 from 3 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 10 from 3 to 9
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 21 from 4 to 9
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 9 from 4 to 2
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 24 from 9 to 5
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 12 from 5 to 1
|
||||||
|
move 10 from 1 to 5
|
||||||
|
move 23 from 5 to 6
|
||||||
|
move 8 from 9 to 1
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 11 from 6 to 1
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 6 from 6 to 8
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 23 from 1 to 8
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 6 from 7 to 2
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 5 from 2 to 3
|
||||||
|
move 28 from 8 to 3
|
||||||
|
move 4 from 1 to 9
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 6 from 5 to 2
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 39 from 3 to 2
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 2 from 2 to 9
|
||||||
|
move 2 from 9 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 5 from 6 to 9
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 20 from 2 to 4
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 22 from 2 to 5
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 15 from 4 to 1
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 10 from 1 to 6
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 5 from 9 to 4
|
||||||
|
move 7 from 5 to 1
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 15 from 5 to 2
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 7 from 2 to 1
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 11 from 1 to 8
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 4 from 1 to 5
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 11 from 6 to 1
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 6 from 5 to 8
|
||||||
|
move 3 from 8 to 4
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 9 from 8 to 2
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 11 from 2 to 5
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 16 from 5 to 7
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 3 from 4 to 9
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 6 from 2 to 8
|
||||||
|
move 11 from 1 to 3
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 11 from 7 to 2
|
||||||
|
move 9 from 7 to 5
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 4 from 5 to 7
|
||||||
|
move 14 from 2 to 3
|
||||||
|
move 17 from 3 to 7
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 8 from 1 to 2
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 6 from 4 to 1
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 6 from 7 to 8
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 12 from 2 to 1
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 4 from 2 to 4
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 22 from 1 to 8
|
||||||
|
move 17 from 8 to 6
|
||||||
|
move 21 from 7 to 6
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 3 from 1 to 5
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 7 from 6 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 14 from 6 to 4
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 3 from 3 to 9
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 16 from 6 to 8
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 7 from 4 to 1
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 4 from 4 to 7
|
||||||
|
move 5 from 2 to 4
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 12 from 1 to 6
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 7 from 4 to 2
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 8 from 6 to 8
|
||||||
|
move 12 from 2 to 4
|
||||||
|
move 5 from 5 to 2
|
||||||
|
move 11 from 4 to 9
|
||||||
|
move 3 from 6 to 3
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 12 from 8 to 4
|
||||||
|
move 20 from 8 to 5
|
||||||
|
move 13 from 5 to 3
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 16 from 9 to 1
|
||||||
|
move 9 from 4 to 5
|
||||||
|
move 12 from 3 to 9
|
||||||
|
move 5 from 6 to 5
|
||||||
|
move 9 from 9 to 7
|
||||||
|
move 14 from 1 to 4
|
||||||
|
move 14 from 4 to 1
|
||||||
|
move 15 from 5 to 7
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 20 from 7 to 2
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 3 from 4 to 2
|
||||||
|
move 2 from 2 to 3
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 14 from 2 to 5
|
||||||
|
move 6 from 1 to 5
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 15 from 1 to 4
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 13 from 5 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 12 from 6 to 4
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 4 from 5 to 2
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 16 from 2 to 5
|
||||||
|
move 17 from 4 to 1
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 14 from 1 to 8
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 15 from 5 to 3
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 4 from 2 to 8
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 3 from 8 to 2
|
||||||
|
move 12 from 8 to 6
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 3 from 2 to 5
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 4 from 6 to 5
|
||||||
|
move 4 from 3 to 5
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 11 from 6 to 4
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 20 from 4 to 5
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 17 from 5 to 8
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 9 from 5 to 1
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 23 from 8 to 2
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 16 from 2 to 4
|
||||||
|
move 11 from 1 to 8
|
||||||
|
move 4 from 5 to 8
|
||||||
|
move 11 from 2 to 6
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 5 from 8 to 6
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 12 from 1 to 2
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 18 from 6 to 2
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 18 from 4 to 9
|
||||||
|
move 11 from 9 to 2
|
||||||
|
move 2 from 9 to 6
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 42 from 2 to 1
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 17 from 1 to 6
|
||||||
|
move 15 from 6 to 3
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 20 from 1 to 9
|
||||||
|
move 6 from 1 to 9
|
||||||
|
move 7 from 9 to 3
|
||||||
|
move 20 from 9 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 4 from 7 to 3
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 21 from 3 to 2
|
||||||
|
move 5 from 3 to 8
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 4 from 8 to 3
|
||||||
|
move 4 from 2 to 5
|
||||||
|
move 19 from 2 to 3
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 23 from 3 to 2
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 16 from 2 to 1
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 5 from 2 to 6
|
||||||
|
move 7 from 6 to 5
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 6 from 5 to 9
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 18 from 1 to 9
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 9 from 9 to 4
|
||||||
|
move 5 from 6 to 3
|
||||||
|
move 9 from 4 to 1
|
||||||
|
move 4 from 9 to 2
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 7 from 1 to 8
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 10 from 2 to 9
|
||||||
|
move 21 from 1 to 8
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 19 from 8 to 4
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 16 from 4 to 8
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 4 from 9 to 4
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 10 from 8 to 6
|
||||||
|
move 4 from 8 to 5
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 4 from 9 to 3
|
1
data/day_6.txt
Normal file
1
data/day_6.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
llqnqffqsqttfffbcfcbcbdcczccfssvwswrwddzlddpdhdwwlvlffjllnjjwjqwjjttwbwcwfccdmmnddgvvpwvvgsshnshsgglljfjzjpjfpfjpplddjcchdhvhlhvllvflfbllsdllgppwjjprjpjrrdwrdrggjvjppgbgttdppwhhcshsvvgpvggsllstsggdjdmjjrvjjszjsjbbsffjwjnwwzjjjvqvfftbffbpffndfdzfdfvdfdggmpmbbwgbgnnbtnnnhggdmdffrqrlrhrzzrmzzmbzzcdcwwzffsrrnfnvfnnvppwjjndjnndtdppgcppsmppljlpjjmlldlsltlglwgwcwnwvwddzrrllwjjnvjvwvppjssncnfcnfcfcczfccpjphjphjjjsgszzhthghjhrjrbrtrjrhrsrfftfzftfmmwmpmgghbggjrrsdswddtjjvnnrwrzrpzzlglwggrnrgrfftnffwwgllrqqzbqbbtltbbgdgpgphggspggplggmcmscsffzcfzzbggdrgrqgrrnlrnrbnnzsnnzcctvvnvwvnwnhhwpwtptllpflfcfttwtjjhwjhhbwhbbtppwhwvhvghvhphpwwcgwwhbbfvbffzpzlllrzlrrbnnrngrnrpnnsszbbqffpsffhfshfhzzqhhcgcgfggzmmdllthhrhnrrwggdqdsstccqllflmflfddjwjzjffvjjfgjgdgbdgdngnpgpnpffsnsjnnbbjdbjbtbmmbrrlbbqmqpqrprjjrbbvnbbzvvcwwlfwfggmhhdhsdhsdhshhqfhfrhhqlqttffpmmjzjqjggqzzdfzflfsllshhvjvfvbfvbbjljhhzrzqqszqzsqqswswbsbzszgzdgzzhjzhhvffhthvtthltthghzhvvjttczttlssvvgjjmsjstjjrfjjhbjbnjbjddqrddnbdnbnwbnbqbmqqgtgqtttcmmqbqrrgrrsrszssvpsvvjqjttjpjwwmwfwttczttgccwhcwwrzwzbwwqbqmqnmqqnfnmmmzdmzmpmssdpsslbbmgmbmlmnlldlccvzzlrzzqbqfqlflwlvlhhtrtcttgnnqhnqqtjjphjhwjhwhpwwvdvfddmndncnppcffhllfvfdfllhgslvtsqhtlfdflcjfmqbnctnfnwqrlqbzrcbvldrffcptsgslqcszqcfdvtpggvdqblwcgmdjqrpjdhtrmvrfrzznspqlfhnjsppbpjdggcwjwprpnlnntgfgmflctqphdmzfvpzzmbzmvrqdgchzmdvjdzmfsslpqvhpgznmpspjpdmlfwwjbbwqbfthghclldpmnsbcwlzswrsnfzbdzpcnrrpspdpfqhvmtfjlppqtphvzzqrwhzccnrgrtgfbfgtwvlwsmcvzmqmhsvztmmvpjzfwzgfwntbrsfthdgrcmgtdsvzcllmcshrlqldrvrnmdgbwttmhczvscrdvfgdvrhfvlghhsfbmrptbwmpnvtsrjlpjlbmmjzwwzbdtjlqqdczqgpzfjslccrcrblhplndblghchczbjjfzlsvvrqhvgdsncgpjhjlprhfhswwbmrnszqzhhlrbqpphvgtfsgmdpjwgcmqnvfdhrqmbspjpdrtdbqnbmbpgqwgmltqwrjprvsfjsmpldcqqbvmfhgzltzfvhlnfdqrphzzjrbdvnnjspvnlnnsdzvgqsqztndjpmnbqtwnpzmmfhsswwnnwwlbnpgbrhzchbnsrwwpprhntngsjzvssttqwfvjrdddtfpgtqqzcwljzmdjtgzdqjjvbqgdttdgvqvlfdsgcjhsmdmwrwdcqdflpfjbfzsvjrzrhhcnvcjblwcdvtbgfhfgcwrcjsrzcdrfwtvdqrghdtrjgdmhrfcsnwwwdpvjtpzdqfgrlmrqscjbfgdbgvflhvdjmnmslvsbcbgwplgqljmlzpgrfjwmvqfwmwrhnmdjhdwgjrngvccrbzmhcqthvvtdtmfqvfczhqbfgzgrmdtprznfzjtrcwqgztchtdmzmnwbfbnbttbvzsflcpsjshgphfdlvhdrcpsqnhjjggbnsqrfpwsdznzcwjbcswwndzbpdnfcbdrfgrmqzvtjttltbntznmqfsmqlgqvlqnrvgrnggslqhbplmgpzwlfzbvwdvrchsnhrnvgmzjdprvvspltcdzmdnlgtmrwnwpdndpdqjltcnmsggrvbprslqhfgmzqtppdpsjcmmbvfgmbpdnwdcgnssfgjhzhrjljdwhrzznscndgbscdmbbtbrnzbqzvcjgjgljbjlrrvdhjdllsnjzhwlmjslghrqplwjwssbzzpdzdfhhsqctlcddnfnnvbcwpdvzdcsgcqpctsjtdtnzpggpzsrrhfjtthqcqhtvwzltbdvdnbgwlppblwzjsqqbcpcrthhrhdnzhdnflqlvbzmcjfcrbmgdgqptfqfbmlfbblqdfmnwgvbdhmcmtmvtggqstjpwhvzjhbgpblmdrnggvrvphbglqgfcphmrgfmrwcdchtwfllqwsnbqttwdcvrwgzjfztmcffppqtmnwpgcrgwtjbdtjlmnpmvlzndljglzblwdrggqvbbfvqcbcbpqttrmqlcqnqvrfqsnlpmwlcgfwfcqpgmszfccbqtcqfwlwqrjjhrdbjqvdmfzjgncjqgqbthpgjgbfdvltbhpnbjqqwrsczrthfhmlzjjjgsjtsvgmwfsjngzfqdqzfhvwjrswvnqvsvvsjdbwlwdcsszdngmmhnnqsgvsrvpnndghrwgzztqczvhcrzdpqtrmrnfsfrlpdnbbtshfhplzqvdvzdvwhwsbpnbzlvcbgptdszjlcgfdzchjcsvhzdljvgpwstzwnssvhztcptnhslggnrschvfnmhcnjvldthtfpqzdvltfgnmtgvlrljhwqdzqfmfblstvfnpfcdsqslrqbztrbfzmsfjtjwhlzfnhrvpfqfqvtdllrvchmqphgljwcspgpwsdwqfdhsqhsflpbcbjjmjrfjrqrqfqcqzqsqcnqhfgsclfnfzblfdhphrvqdpvcqmllrcdnrlwqbrgqsbfqqllcvmglntjwcsjljgntmmldscndfdjcqpwbqpbmfjsgwfwcqbqbbhhgprlbzmvdfjcsmsqvhfhmgrhnwpslztmwbhdgrfzfcmwjswpbpzwstfbfmgwtprmptzjwtrqthrqwgslnmtlfgnvgpwvsfwthtrgwfbnnnwmdcfrpqqztplscvfnfpfwwdnfnzjccnhswwlcrrdqfhvsrnvcdrwmjswzggscplggbwgndsbntqvtrjbmbzrnbbmdjvwrmmtrmfjjhnvrcjcbqlhlthbvtjjczddblbbttmmzgdqmtdqswjdwbjhsrjbvdtqzqdbhhgbttgmgwfgfpczpqpfsddgslltwsvngwbwfbfcdzlqghwdbfzzldjpwpmpjmslwnwbrjjvwcsjgdzjwrrwnvgvrqlgjhwvrgnczspfplhfbtdpbpfqmhbvmcqdgrrjfslzgsqfpwrrrmjdtgbslddwvddrbmrdsdhhnlwsncrmnglrrpvtbrfvjbdmcpgphcdfwnfcglvmlbslttpmjnspqhnmbcqgmncfjjpdfjqhggnswbgppjhllscrvtmtmmbwbpgddtzblscntrmccdpzdnllqpvfdpfpwwvnnbjlzphvqwffwsjmbtllctrjmllwscmldcdrpfrzrqlpwbjwfgmnshzqzgdjqhcwtsqlsjffvzcpnrzmvtlzlgwvrrjtdbcnddbhjgqqzrvhplrbsrwgscjnfmhbcnpdcjqrltgdzzzzbqtsspbcdssbjrzfqdgvhmgdzsjdsqcfwbgrnhrlzgpjmhctqdccmvqzddmcptsjgtfshprqmslvtmtrprfsngrnnpnrccrvnrvcwzrbbnbghlwvcncgzglnqthchhsnzlfrcggdptvwlrbnfwgjpflgrcfzhhgffwcbhwlsdmvmsvvzvdcrlvlnstgz
|
1047
data/day_7.txt
Normal file
1047
data/day_7.txt
Normal file
File diff suppressed because it is too large
Load Diff
99
data/day_8.txt
Normal file
99
data/day_8.txt
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
222322213033345255533423306545562424165440655115256171674620442636621123532003623343351021112300040
|
||||||
|
110200134424131544435511513034235114207220346712122743100173142606016164253614600344452542043234001
|
||||||
|
130241122341034230060506400411050451436457131115555076655121366640166143420114243260041315245140033
|
||||||
|
044201155341204150154421223651421072455456424262034065175730703125367662022422056423113110423033043
|
||||||
|
341242043015141323013444355403421162464354167412604633147554242145501111651130260045523542142405124
|
||||||
|
104105335542011255154624541673170452421201174751065233125053535203606402110631631303264231443334523
|
||||||
|
022251232401442443240604013073567051751261046006060310057162723056356047312301014332262320405344224
|
||||||
|
005045010303234050011604134516553223421500156708426287011206217044163376565240420066564035322425031
|
||||||
|
433400302252163605112001002152533254526577025774185772532522645162112005222006334211222615202150023
|
||||||
|
514421532420126245053363421750507267400406222575606338538284336516406721212651434025136363121253314
|
||||||
|
145500111514555142462447264776571468434327564631361615475570716477174343523375640422633224154214330
|
||||||
|
450422253465464405163267335560338812657620448402661157163042574016476542116027110002556401004144041
|
||||||
|
315250435323412100266435752414460614818523238015312045767348145251346503446110002404643412031033110
|
||||||
|
335554260614516260275514014501773808684115234652573523444781127146772327147027164546041361322264113
|
||||||
|
552212024666234517403145053462886425015423537515312180012163268455035077313422213613314122403623422
|
||||||
|
554116462330326333717726071743410713076038127356572547895446465004382875747801510560161030046236534
|
||||||
|
105512113261674505476760210308840028176731611387575863387841328453867641286570312570624613101433450
|
||||||
|
201620055416403673411402684861111672134437556816818962692824522386258176417471541216750515352320263
|
||||||
|
100064152502471121126620147804267474177133917793419871348867649139837456117360472552512240365464543
|
||||||
|
434125501030234366461354647212882961264276372277577656415297827484543874788435871670574372006541656
|
||||||
|
354231632241763433421115602887827646148345796776349994375746935256394267608007744846602344220506426
|
||||||
|
320055542235452511286776246551436249838211357522914296165427513242286591157867047217062671166212220
|
||||||
|
630533311432024274286282747578525892839185272964722232382686773975896514921876068064231003115130640
|
||||||
|
054351445323650230374860016787334957865672953893647532392634515193476444753234751431776670673443625
|
||||||
|
122161643553043361465661234215425777375428328842756826885237348622679574815841302214422454334622455
|
||||||
|
310361643547534388254741787957515835394388424384634948237897787328779899668951118145613227272341123
|
||||||
|
553203043313014483116602739588328966436465926583287463393949837268357287783771610187112515346661056
|
||||||
|
361112773030626240167311193287631239264325599932928434546936456455966294955629721437363071113555100
|
||||||
|
223116444062065127823414995768335224963787626949338374537976548374532595386885887817322311512135354
|
||||||
|
165533456256685465133638322212456677839479985883969576788652889447966945526287513125252251227266360
|
||||||
|
050427105764654780569971719539982722683736488643647867988885285677254929533615456260111805471544762
|
||||||
|
612564200420147420768231643572583337363778975687346456978779493453467879471982875321111751612056704
|
||||||
|
154715031561015145153929571787325853755436888933888338496548994492842954225615713257348715562770051
|
||||||
|
042706406641878154761493925944579827297695668447479695968796749364665547438536956376866503052450261
|
||||||
|
111103621158778860687333696596964667768654674764978799646936368489433243322422814121081720104310375
|
||||||
|
256106134082036385674358835842774753667963458466356667369999749769462758256568366264544861030650514
|
||||||
|
412372400235780556155749924663448584664436986744984487994753564686643982758245295828805442657020150
|
||||||
|
316402420685442228837832744963276587378457659649458546869353576749393683736838444639170007152747441
|
||||||
|
343664452531110164851537867349623666557879764884856546986489797534353938689749649842383748067621444
|
||||||
|
004444326256452015911854963372679986857738459895764946977798848396957278774226377383181551011246332
|
||||||
|
324213275444575144439872496886847394968576968689979497664689986774356463883323582931740408774664723
|
||||||
|
167274127524542565635816457474433733785665667989859545577574597555588393452438866921746374545730347
|
||||||
|
312523103467383946589439238265777486435445747964954446957896799994745579737227145455742444466763354
|
||||||
|
042101230038108485461717949225836749699798599445858954785786668636987937236256346361252208168136312
|
||||||
|
447311762287744692475573737395565466544999496459956989976897778946499374824747773197595161266172226
|
||||||
|
371671376376358926187663595697867739555794587855655786889854499686796363666939989643254552166201754
|
||||||
|
305514713774776948141752365256767736786987588655596589796495868756859657723267975757697551713050730
|
||||||
|
505672367783107579727693596546487757757799568755578685859899884563658799498726941257953878711714017
|
||||||
|
457520154136801497456138426564536866785654498777579675857476597474753988679778543462582232418154231
|
||||||
|
050570576377124118562748278969974597659546757999795788577798949457569458597349739399679324147816176
|
||||||
|
064032506374261599382993468784374444687579995969557585785777758755334674823733669516557164016427124
|
||||||
|
346565566106489839877287435227877647875697657779798687889989777455747976752522588271842557284604304
|
||||||
|
320630184267887846149779595575797453867985966985895787576699496556963977669453525683498188461017663
|
||||||
|
155470636481748966932554775295985386984477788779777769886686888674939686949557211549684318562843364
|
||||||
|
355422032736165249425585822655654853976657576675655856568867858693534395443986997713966364825241516
|
||||||
|
014307615355116598362643769888978393745848466775686878856446548776874844332797955528420388441472072
|
||||||
|
434677415171655145937867232795798374659889895676897986696777754584999873398343952258322518308312370
|
||||||
|
614462625176544968398772979677993886597595888444699849445968855456666794598363878647397472370611124
|
||||||
|
342426038105820512291673236242588648634466744646845777477557645589764482986857645122398666420720742
|
||||||
|
303446222610437533389493227477389695959868644577787974876888684975836425953723362621837202318302515
|
||||||
|
101334031274541867475755424764549646588488959767847459756867963388465874367294735519312864601156672
|
||||||
|
311162646802122687272848655359448638774475595989694889897479694563583798875942767189780830474311553
|
||||||
|
670525052313105734222877229995545497896735689799858955459867784679684938565425586596166033035473164
|
||||||
|
625002126405824409197545328243248943664786877896564684896757759666544465836966863943043883874535107
|
||||||
|
304504507410725215339562444778866968394554865956559998446945777964348595952748915112623570510705144
|
||||||
|
447671532535258771129625534992686968475466769559485845995386695599378847572918425825332176641466062
|
||||||
|
022123400381035622672492659655854245887594385374756573547685957733982636227675215225616456802746606
|
||||||
|
143231134353837650051751146983252488977634698367786398395985875992826958228379769214124442703715262
|
||||||
|
135170610171160182526139534726928582959959837673658879565485535346824864319872955144130017452466064
|
||||||
|
102646524660025304032183156274795333553888848798733487439766887562335538983732625811202053035706412
|
||||||
|
105313211023023674376715267861525696823925879646687867997695888347896781494452164804031634615425042
|
||||||
|
256205106513734680231582333362957987973927998375834773457684994689349817858524813244430142704015520
|
||||||
|
021404347726028733646641268434424287525532769279452643745555528837589599615841240070086220361652546
|
||||||
|
224024214320367157758819746327682985953929797339659337579259325447482167689237531580534124157434533
|
||||||
|
432614136036164731080370551893833148799729789672732794952993828437433612152513202747342230044776363
|
||||||
|
314003554513122735473322134512738781597463362529856243299295546734985494922406881657630707442021510
|
||||||
|
514504073756450312710340856355119778239528232648473554453443349559599228483527304806846455610024545
|
||||||
|
424156167665132531871223763346631626522767446256444526857773846279396461782420177025261412610600431
|
||||||
|
440544203354025350033001226782826234581598745799586998494951719551921447963680834604761003456033433
|
||||||
|
030261134056327505538138763401733512835785873969133667323138843188738957384853306401550446745105426
|
||||||
|
524041041607103210643621736677777415881386586134322795167285489925353353273682055677320161701632002
|
||||||
|
532513043015722226170325461521708421659348265984277116386737884679183833325305770247107056515000632
|
||||||
|
450631113064541102213228045638208741315429696459599317816954821479256672633762880514531576001505104
|
||||||
|
214165164302237003505054233882824157688219632493411326562973319962407073638136757124756516600661503
|
||||||
|
304465104303261562212345808766401574871933592693641614758134144886301815682807153126027453244204015
|
||||||
|
135203445204521251600013125103586202465438696331861292616228156657585723603452536740112103314030555
|
||||||
|
514516400551406327564011243567833388064737417461387480870726483204868682076024701011125332602254113
|
||||||
|
421341053633214625706123464303687686511262673301412775315212752511877023033424215721261615303053012
|
||||||
|
022044105062611536144720566574153723272833357078078000286705430350220142407371067103103416226230555
|
||||||
|
410213236064223263635201443404636873030520630316216081306535811175741246467466645353201136163050545
|
||||||
|
303520211553166661506232367472736401455544832872162057805076267517121166516261355403030034621243454
|
||||||
|
203254222143353045650002244735005340271145025041572764542706827413452562704066262265323455430133504
|
||||||
|
441232355335366123446141420412727113134404853821274587121188823260264625415453362560311464455210441
|
||||||
|
414115054424201303442043777071262633223473236654360080370734624214365605172654033011620153152523134
|
||||||
|
412115334452334460565220356727405160520263276133202400177553665136056247040612461135000421154322204
|
||||||
|
041335455114425155032554320512112112454416721273507036712353407602170012763156424133043141034050241
|
||||||
|
030023102524414043125455041405115606664661260240725146305660271437703406461522205621551001134541002
|
||||||
|
404443532404034526430106366644217325436253634242603222554235163606432511155652343363021250505540430
|
||||||
|
324114252001344342204144440320420641222766650735522654115551234652234245431600152550532022520100132
|
2000
data/day_9.txt
Normal file
2000
data/day_9.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,8 @@ cals_per_elf() {
|
|||||||
((tmp+=i))
|
((tmp+=i))
|
||||||
done
|
done
|
||||||
cals+=("$tmp")
|
cals+=("$tmp")
|
||||||
utils.qsort "${cals[@]}"
|
utils.timsort cals
|
||||||
|
echo "${cals[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
p1() {
|
p1() {
|
||||||
|
53
src/day_10.jl
Normal file
53
src/day_10.jl
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
x = 1
|
||||||
|
cycles = []
|
||||||
|
for i in input
|
||||||
|
if i == "noop"
|
||||||
|
push!(cycles, x)
|
||||||
|
else
|
||||||
|
num = parse(Int, split(i)[2])
|
||||||
|
push!(cycles, x)
|
||||||
|
push!(cycles, x)
|
||||||
|
x += num
|
||||||
|
end
|
||||||
|
end
|
||||||
|
sum = 0
|
||||||
|
for i in 20:40:220
|
||||||
|
sum += cycles[i] * i
|
||||||
|
end
|
||||||
|
sum
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
x = 1
|
||||||
|
cycles = []
|
||||||
|
for i in input
|
||||||
|
if i == "noop"
|
||||||
|
push!(cycles, x)
|
||||||
|
else
|
||||||
|
num = parse(Int, split(i)[2])
|
||||||
|
push!(cycles, x)
|
||||||
|
push!(cycles, x)
|
||||||
|
x += num
|
||||||
|
end
|
||||||
|
end
|
||||||
|
cycle = 0
|
||||||
|
while cycle < length(cycles)
|
||||||
|
x = cycles[cycle+1]
|
||||||
|
if abs(x - (cycle%40)) < 2
|
||||||
|
print("#")
|
||||||
|
else
|
||||||
|
print(".")
|
||||||
|
end
|
||||||
|
cycle+=1
|
||||||
|
if cycle % 40 == 0
|
||||||
|
print("\n")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 10)
|
94
src/day_11.jl
Normal file
94
src/day_11.jl
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function parse_monkeys(input::Vector{String})
|
||||||
|
curr_monkey = -1
|
||||||
|
monkeys = Dict()
|
||||||
|
ops = Dict()
|
||||||
|
tests = Dict()
|
||||||
|
conditions = Dict()
|
||||||
|
for i in input
|
||||||
|
line = strip(i)
|
||||||
|
if line == ""
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if line[1:6] == "Monkey"
|
||||||
|
curr_monkey += 1
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if line[1:8] == "Starting"
|
||||||
|
items = split(line, ':')[2]
|
||||||
|
items = split(items, ',')
|
||||||
|
items = map((x) -> parse(Int, strip(x)), items)
|
||||||
|
monkeys[curr_monkey] = items
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if line[1:9] == "Operation"
|
||||||
|
op = strip(split(line, '=')[2])
|
||||||
|
op = split(op)
|
||||||
|
ops[curr_monkey] = op
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if line[1:4] == "Test"
|
||||||
|
div_by = parse(Int, split(line)[end])
|
||||||
|
tests[curr_monkey] = [div_by]
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if line[1:2] == "If"
|
||||||
|
to = parse(Int, split(line)[end])
|
||||||
|
push!(tests[curr_monkey], to)
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
(monkeys, ops, tests, conditions)
|
||||||
|
end
|
||||||
|
|
||||||
|
function run(turns, monkeys, ops, tests, conditions, worry_level_fn)
|
||||||
|
inspects = Dict()
|
||||||
|
|
||||||
|
for turn in 1:turns
|
||||||
|
for m in 0:length(keys(monkeys))-1
|
||||||
|
while length(monkeys[m]) > 0
|
||||||
|
if haskey(inspects, m)
|
||||||
|
inspects[m] += 1
|
||||||
|
else
|
||||||
|
inspects[m] = 1
|
||||||
|
end
|
||||||
|
wl = popfirst!(monkeys[m])
|
||||||
|
op = ops[m]
|
||||||
|
operand1 = op[1] == "old" ? wl : parse(Int, op[1])
|
||||||
|
operand2 = op[3] == "old" ? wl : parse(Int, op[3])
|
||||||
|
operator = op[2]
|
||||||
|
wl = eval(Meta.parse("$operand1 $operator $operand2"))
|
||||||
|
wl = worry_level_fn(wl)
|
||||||
|
if wl % tests[m][1] == 0
|
||||||
|
push!(monkeys[tests[m][2]], wl)
|
||||||
|
else
|
||||||
|
push!(monkeys[tests[m][3]], wl)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inspects
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
monkeys, ops, tests, conditions = parse_monkeys(input)
|
||||||
|
inspections = run(20, monkeys, ops, tests, conditions, x -> x % 3)
|
||||||
|
res = sort(collect(values(inspections)))[end-1:end]
|
||||||
|
res[1] * res[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
monkeys, ops, tests, conditions = parse_monkeys(input)
|
||||||
|
lcm = 1
|
||||||
|
for i in values(tests)
|
||||||
|
lcm *= i[1]
|
||||||
|
end
|
||||||
|
inspections = run(10000, monkeys, ops, tests, conditions, x -> x % lcm)
|
||||||
|
res = sort(collect(values(inspections)))[end-1:end]
|
||||||
|
res[1] * res[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 11)
|
47
src/day_12.jl
Normal file
47
src/day_12.jl
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Graphs
|
||||||
|
|
||||||
|
directions = [(1, 0), (-1, 0), (0, 1), (0, -1)]
|
||||||
|
|
||||||
|
function build_graph(input::Vector{String})
|
||||||
|
grid = hcat(collect.(input)...)
|
||||||
|
|
||||||
|
start = findfirst(==('S'), grid)
|
||||||
|
dest = findfirst(==('E'), grid)
|
||||||
|
grid[start] = 'a'
|
||||||
|
grid[dest] = 'z'
|
||||||
|
|
||||||
|
grid = map(x -> x - 'a', grid)
|
||||||
|
graph = SimpleDiGraph(length(grid))
|
||||||
|
|
||||||
|
for (i, h) in enumerate(grid)
|
||||||
|
ic = CartesianIndices(grid)[i]
|
||||||
|
|
||||||
|
neighs = map(x -> ic + CartesianIndex(x), directions)
|
||||||
|
for d in filter(x -> checkbounds(Bool, grid, x), neighs)
|
||||||
|
if grid[d] <= h+1
|
||||||
|
add_edge!(graph, i, LinearIndices(grid)[d])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
(start, dest, grid, graph)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
start, dest, grid, graph = build_graph(input)
|
||||||
|
|
||||||
|
solution = dijkstra_shortest_paths(graph, LinearIndices(grid)[start])
|
||||||
|
solution.dists[LinearIndices(grid)[dest]]
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
start, dest, grid, graph = build_graph(input)
|
||||||
|
sources = findall(==(0), grid)
|
||||||
|
|
||||||
|
solution = dijkstra_shortest_paths(graph, map(x -> LinearIndices(grid)[x], sources))
|
||||||
|
solution.dists[LinearIndices(grid)[dest]]
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 12)
|
36
src/day_2.jl
Normal file
36
src/day_2.jl
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
win_conditions = Dict(
|
||||||
|
"A X" => 3,
|
||||||
|
"A Y" => 6,
|
||||||
|
"A Z" => 0,
|
||||||
|
"B X" => 0,
|
||||||
|
"B Y" => 3,
|
||||||
|
"B Z" => 6,
|
||||||
|
"C X" => 6,
|
||||||
|
"C Y" => 0,
|
||||||
|
"C Z" => 3,
|
||||||
|
)
|
||||||
|
should_play = Dict(
|
||||||
|
"A X" => 'Z',
|
||||||
|
"A Y" => 'X',
|
||||||
|
"A Z" => 'Y',
|
||||||
|
"B X" => 'X',
|
||||||
|
"B Y" => 'Y',
|
||||||
|
"B Z" => 'Z',
|
||||||
|
"C X" => 'Y',
|
||||||
|
"C Y" => 'Z',
|
||||||
|
"C Z" => 'X',
|
||||||
|
)
|
||||||
|
score_table = Dict('X' => 1, 'Y' => 2, 'Z' => 3)
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
sum([ win_conditions[i] + score_table[i[3]] for i in input ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
sum([ win_conditions[i] + score_table[i[3]] for i in map((x) -> x[1:2] * should_play[x], input) ])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 2)
|
54
src/day_2.sh
Normal file
54
src/day_2.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
unset PATH
|
||||||
|
BASE='.*';until [[ "$(eval "echo $BASE")" =~ \.git ]]; do BASE="../$BASE"; done;BASE="${BASE/'*'}"
|
||||||
|
source "$BASE/utils.sh"
|
||||||
|
|
||||||
|
INPUT="$(<"$BASE/data/day_2.txt")"
|
||||||
|
|
||||||
|
declare -A COMBINATION_TO_POINTS=(
|
||||||
|
['A X']=3
|
||||||
|
['A Y']=6
|
||||||
|
['A Z']=0
|
||||||
|
['B X']=0
|
||||||
|
['B Y']=3
|
||||||
|
['B Z']=6
|
||||||
|
['C X']=6
|
||||||
|
['C Y']=0
|
||||||
|
['C Z']=3
|
||||||
|
)
|
||||||
|
|
||||||
|
declare -A SHOULD_PLAY=(
|
||||||
|
['A X']=Z
|
||||||
|
['A Y']=X
|
||||||
|
['A Z']=Y
|
||||||
|
['B X']=X
|
||||||
|
['B Y']=Y
|
||||||
|
['B Z']=Z
|
||||||
|
['C X']=Y
|
||||||
|
['C Y']=Z
|
||||||
|
['C Z']=X
|
||||||
|
)
|
||||||
|
|
||||||
|
declare -A SCORES=([X]=1 [Y]=2 [Z]=3)
|
||||||
|
|
||||||
|
p1() {
|
||||||
|
mapfile -t scores <<< "$(
|
||||||
|
while read -r i; do
|
||||||
|
echo $(( COMBINATION_TO_POINTS[$i] + SCORES[${i:2}] ))
|
||||||
|
done <<< "$1"
|
||||||
|
)"
|
||||||
|
utils.sum "${scores[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
p2() {
|
||||||
|
mapfile -t scores <<< "$(
|
||||||
|
while read -r i; do
|
||||||
|
i="${i::1} ${SHOULD_PLAY["$i"]}"
|
||||||
|
echo $(( COMBINATION_TO_POINTS[$i] + SCORES[${i:2}] ))
|
||||||
|
done <<< "$1"
|
||||||
|
)"
|
||||||
|
utils.sum "${scores[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
p1 "$INPUT"
|
||||||
|
p2 "$INPUT"
|
14
src/day_3.jl
Normal file
14
src/day_3.jl
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
priority = ['a':'z'; 'A':'Z']
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
sum([ findfirst(==(intersect(i[begin:sizeof(i)÷2], i[sizeof(i)÷2+1:end])[1]), priority) for i in input ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
sum([ findfirst(==(foldl(intersect, input[i:i+2])[1]), priority) for i in 1:3:length(input) ])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 3)
|
18
src/day_4.jl
Normal file
18
src/day_4.jl
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function assignment_pairs(λ, line)
|
||||||
|
a, b = split(line, ',')
|
||||||
|
s1,e1,s2,e2 = parse.(Int,[split(a, '-'); split(b, '-')])
|
||||||
|
λ(s1:e1, s2:e2)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
count(map((x) -> assignment_pairs((a, b) -> (a ⊆ b || b ⊆ a), x), input))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
count(map((x) -> assignment_pairs((a, b) -> length(intersect(a, b)) > 0, x), input))
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 4)
|
39
src/day_5.jl
Normal file
39
src/day_5.jl
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function parse_input(input)
|
||||||
|
separator = findfirst(==(""), input)
|
||||||
|
num_stacks = length(unique(input[separator-1])) - 1
|
||||||
|
stacks = [ [] for _ in 1:num_stacks ]
|
||||||
|
instructions = [ parse.(Int, [ i.match for i in eachmatch(r"\d+", instr)]) for instr in input[separator+1:end] ]
|
||||||
|
|
||||||
|
for i in separator-2:-1:1
|
||||||
|
line = input[i]
|
||||||
|
while true
|
||||||
|
col = findlast(isletter, line)
|
||||||
|
(col == nothing) && break
|
||||||
|
index = Int(round(col/4, RoundUp))
|
||||||
|
push!(stacks[index], line[col])
|
||||||
|
line = line[begin:col-2]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
(stacks, instructions)
|
||||||
|
end
|
||||||
|
|
||||||
|
function solve(λ, input)
|
||||||
|
stacks, instructions = parse_input(input)
|
||||||
|
for (c,f,t) in instructions
|
||||||
|
append!(stacks[t],λ([pop!(stacks[f]) for _ in 1:c ]))
|
||||||
|
end
|
||||||
|
join(map(pop!, stacks))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
solve((x) -> x, input)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
solve(reverse, input)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 5)
|
24
src/day_6.jl
Normal file
24
src/day_6.jl
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function sliding(in, w::Int64; step::Int = 1)
|
||||||
|
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function find_packet_start(buffer, len)
|
||||||
|
counter = 0
|
||||||
|
for window in sliding(buffer, len)
|
||||||
|
length(unique(window)) == len && (return counter + len)
|
||||||
|
counter += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
find_packet_start(input[begin], 4)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
find_packet_start(input[begin], 14)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 6)
|
65
src/day_7.jl
Normal file
65
src/day_7.jl
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function size_of_dir(dirs::Dict{String, Int}, subdirs::Dict{String, Array{String}}, dir::String)
|
||||||
|
size = dirs[dir]
|
||||||
|
for sub in subdirs[dir]
|
||||||
|
sub in keys(dirs) && (size += size_of_dir(dirs, subdirs, sub))
|
||||||
|
end
|
||||||
|
size
|
||||||
|
end
|
||||||
|
|
||||||
|
function join_path(s1, s2)
|
||||||
|
s2 == ".." ? join(split(s1, '/')[begin:end-1], '/') : s1 * '/' * s2
|
||||||
|
end
|
||||||
|
|
||||||
|
function build_dirs(input::Vector{String})
|
||||||
|
dirs = Dict{String, Int}()
|
||||||
|
subdirs = Dict{String, Array{String}}()
|
||||||
|
pwd = ""
|
||||||
|
|
||||||
|
for i in input
|
||||||
|
if i[1] == '$'
|
||||||
|
cmd = split(i[3:end])
|
||||||
|
if cmd[1] == "cd"
|
||||||
|
pwd = cmd[2] == "/" ? "/" : join_path(pwd, cmd[2])
|
||||||
|
if pwd ∉ keys(dirs)
|
||||||
|
dirs[pwd] = 0
|
||||||
|
subdirs[pwd] = []
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
size, name = split(i)
|
||||||
|
if size == "dir"
|
||||||
|
push!(subdirs[pwd], join_path(pwd, name))
|
||||||
|
else
|
||||||
|
dirs[pwd] += parse(Int, size)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
(dirs, subdirs)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
dirs, subdirs = build_dirs(input)
|
||||||
|
total = 0
|
||||||
|
for dir in keys(dirs)
|
||||||
|
size = size_of_dir(dirs, subdirs, dir)
|
||||||
|
size <= 100000 && (total+=size)
|
||||||
|
end
|
||||||
|
total
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
dirs, subdirs = build_dirs(input)
|
||||||
|
free = 70000000 - size_of_dir(dirs, subdirs, "/")
|
||||||
|
res = 0
|
||||||
|
for dir in keys(dirs)
|
||||||
|
size = size_of_dir(dirs, subdirs, dir)
|
||||||
|
(free + size >= 30000000) && (res == 0 || res > size) && (res=size)
|
||||||
|
end
|
||||||
|
res
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 7)
|
69
src/day_8.jl
Normal file
69
src/day_8.jl
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
directions() = [[-1, 0], [1, 0], [0, -1], [0, 1]]
|
||||||
|
|
||||||
|
parse_grid(input::Vector{String}) = [ parse.(Int, collect(i)) for i in input]
|
||||||
|
|
||||||
|
function visible()
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
grid = parse_grid(input)
|
||||||
|
xlen = length(grid)
|
||||||
|
ylen = length(grid[1])
|
||||||
|
visible = 0
|
||||||
|
|
||||||
|
for x in 1:xlen, y in 1:ylen
|
||||||
|
if (x == 1 || x == xlen || y == 1 || y == ylen)
|
||||||
|
visible += 1
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
curr = grid[x][y]
|
||||||
|
tops = map((x) -> x[y], grid[begin:x-1])
|
||||||
|
btms = map((x) -> x[y], grid[x+1:end])
|
||||||
|
lefts = grid[x][begin:y-1]
|
||||||
|
rights = grid[x][y+1:end]
|
||||||
|
if curr > maximum(tops)
|
||||||
|
visible += 1
|
||||||
|
continue
|
||||||
|
elseif curr > maximum(btms)
|
||||||
|
visible += 1
|
||||||
|
continue
|
||||||
|
elseif curr > maximum(lefts)
|
||||||
|
visible += 1
|
||||||
|
continue
|
||||||
|
elseif curr > maximum(rights)
|
||||||
|
visible += 1
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
visible
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
grid = parse_grid(input)
|
||||||
|
xlen = length(grid)
|
||||||
|
ylen = length(grid[1])
|
||||||
|
res = 0
|
||||||
|
|
||||||
|
for x in 1:xlen, y in 1:ylen
|
||||||
|
tmp = 1
|
||||||
|
for (i, j) in directions()
|
||||||
|
curr = 0
|
||||||
|
dx = x + i
|
||||||
|
dy = y + j
|
||||||
|
while 0 < dx <= xlen && 0 < dy <= ylen
|
||||||
|
curr += 1
|
||||||
|
(grid[dx][dy] >= grid[x][y]) && (break)
|
||||||
|
dx += i
|
||||||
|
dy += j
|
||||||
|
end
|
||||||
|
tmp*=curr
|
||||||
|
end
|
||||||
|
res = max(res, tmp)
|
||||||
|
end
|
||||||
|
res
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 8)
|
58
src/day_9.jl
Normal file
58
src/day_9.jl
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
offsets = Dict('L' => (-1, 0), 'R' => (1, 0), 'U' => (0, 1), 'D' => (0, -1))
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
headx, heady = (0,0)
|
||||||
|
tailx, taily = (0,0)
|
||||||
|
map = Dict((0,0) => true)
|
||||||
|
for i in input
|
||||||
|
x, y = offsets[i[1]]
|
||||||
|
for _ in 1:parse(Int, split(i)[2])
|
||||||
|
headx += x
|
||||||
|
heady += y
|
||||||
|
while max(abs(tailx - headx), abs(taily - heady)) > 1
|
||||||
|
if abs(tailx - headx) > 0
|
||||||
|
tailx += headx > tailx ? 1 : -1
|
||||||
|
end
|
||||||
|
if abs(taily - heady) > 0
|
||||||
|
taily += heady > taily ? 1 : -1
|
||||||
|
end
|
||||||
|
map[(tailx, taily)] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
length(keys(map))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
rope = [ [0, 0] for _ in 1:10 ]
|
||||||
|
map = Dict((0,0) => true)
|
||||||
|
for i in input
|
||||||
|
x, y = offsets[i[1]]
|
||||||
|
for _ in 1:parse(Int, split(i)[2])
|
||||||
|
head = rope[1]
|
||||||
|
rope[1] = [head[1] + x, head[2] + y]
|
||||||
|
|
||||||
|
for ri in 2:10
|
||||||
|
prevx, prevy = rope[ri-1]
|
||||||
|
currx, curry = rope[ri]
|
||||||
|
while max(abs(currx - prevx), abs(curry - prevy)) > 1
|
||||||
|
if abs(currx - prevx) > 0
|
||||||
|
currx += prevx > currx ? 1 : -1
|
||||||
|
end
|
||||||
|
if abs(curry - prevy) > 0
|
||||||
|
curry += prevy > curry ? 1 : -1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
rope[ri] = [currx, curry]
|
||||||
|
end
|
||||||
|
last = rope[end]
|
||||||
|
map[(last[1], last[2])] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
length(keys(map))
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 9)
|
28
utils.sh
28
utils.sh
@@ -3,10 +3,11 @@
|
|||||||
_int.insertion_sort() {
|
_int.insertion_sort() {
|
||||||
local -n _int_isort_arr="$1"
|
local -n _int_isort_arr="$1"
|
||||||
local left="$2" right="$3"
|
local left="$2" right="$3"
|
||||||
|
local i=0 j=0
|
||||||
|
|
||||||
for (( i=left+1; i<=right; i+=1 )) do
|
for (( i=left+1; i<=right; i+=1 )) do
|
||||||
local value="${_int_isort_arr["$i"]}" j=$((i-1))
|
local value="${_int_isort_arr["$i"]}" j=$((i-1))
|
||||||
while (( j>=left && "${_int_isort_arr["$j"]}" > value )); do
|
while (( j>=left && _int_isort_arr[j] > value )); do
|
||||||
_int_isort_arr[$((j+1))]="${_int_isort_arr["$j"]}"
|
_int_isort_arr[$((j+1))]="${_int_isort_arr["$j"]}"
|
||||||
((j-=1))
|
((j-=1))
|
||||||
done
|
done
|
||||||
@@ -52,20 +53,33 @@ _int.merge() {
|
|||||||
((j+=1))
|
((j+=1))
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
_int.min_run() {
|
||||||
|
local len="$1" r=0
|
||||||
|
|
||||||
|
while (( len >= 32 )); do
|
||||||
|
r=$((r | (len & 1)))
|
||||||
|
len=$((len >> 1))
|
||||||
|
done
|
||||||
|
echo $((len + r))
|
||||||
|
}
|
||||||
|
|
||||||
utils.timsort() {
|
utils.timsort() {
|
||||||
local -n _utils_timsort_arr="$1"
|
local -n _utils_timsort_arr="$1"
|
||||||
local len="${#_utils_timsort_arr[@]}"
|
local len="${#_utils_timsort_arr[@]}"
|
||||||
|
local min_run="$(_int.min_run "$len")"
|
||||||
|
local i=0 j=0 size=0 left=0 mid=0 right=0
|
||||||
|
|
||||||
for (( i=0; i < len; i+=32 )); do
|
for (( i=0; i < len; i+=min_run )); do
|
||||||
_int.insertion_sort _utils_timsort_arr "$i" "$(utils.min2 "$((i+32-1))" "$((len-1))")"
|
_int.insertion_sort _utils_timsort_arr "$i" "$(utils.min2 "$((i+min_run-1))" "$((len-1))")"
|
||||||
done
|
done
|
||||||
|
|
||||||
for (( size=32; size < len; size=2*size )); do
|
for (( size=min_run; size < len; size*=2 )); do
|
||||||
for (( left=0; left < len; left+=2*size )); do
|
for (( left=0; left < len; left+=2*size )); do
|
||||||
local mid="$((left+size-1))"
|
mid=$((left+size-1))
|
||||||
local right="$(utils.min2 "$((left+2*size-1))" "$((len-1))")"
|
right=$(utils.min2 "$((left+2*size-1))" "$((len-1))")
|
||||||
(( mid < right )) && _int.merge _utils_timsort_arr "$left" "$mid" "$right"
|
if (( mid < right )); then
|
||||||
|
_int.merge _utils_timsort_arr "$left" "$mid" "$right"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user