[WIP] Day 1
This commit is contained in:
commit
446422e0d2
15 files changed
+1496
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
/target
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
Generated
+11
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="EMPTY_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/advent-of-code-2023-rust.iml" filepath="$PROJECT_DIR$/.idea/advent-of-code-2023-rust.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+92
@@ -0,0 +1,92 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advent-of-code-2023-rust"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"num",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "autocfg"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
|
||||||
|
dependencies = [
|
||||||
|
"num-bigint",
|
||||||
|
"num-complex",
|
||||||
|
"num-integer",
|
||||||
|
"num-iter",
|
||||||
|
"num-rational",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-bigint"
|
||||||
|
version = "0.4.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"num-integer",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-complex"
|
||||||
|
version = "0.4.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
|
||||||
|
dependencies = [
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-integer"
|
||||||
|
version = "0.1.45"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-iter"
|
||||||
|
version = "0.1.43"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"num-integer",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-rational"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"num-bigint",
|
||||||
|
"num-integer",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num-traits"
|
||||||
|
version = "0.2.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "advent-of-code-2023-rust"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
num = "0.4"
|
||||||
+1000
@@ -0,0 +1,1000 @@
|
|||||||
|
3fiveone
|
||||||
|
eightnineseventwo1seven
|
||||||
|
9h1xcrcggtwo38
|
||||||
|
nine4pvtl
|
||||||
|
seven7rsbqpgxtjzsgxssix
|
||||||
|
twofivethreepqgsvrszczrthree7
|
||||||
|
44qcrkvr1two
|
||||||
|
zstrmphtxdvdpsnhpnq4threenbjznsb
|
||||||
|
bhgxhb41eight
|
||||||
|
qhstsbxsspsrfourmtvtnfhxlj699one
|
||||||
|
onekvhgkeighteight6two7ninelnfzbr
|
||||||
|
xsixz5six3gfqrzmpnjgskd6
|
||||||
|
qfrpksmzzvfkddtfh6838
|
||||||
|
mztttgnxdqt4
|
||||||
|
8threesevenfourgbgteight5twonenjr
|
||||||
|
bpzkn2rbbjtdtlznl
|
||||||
|
glckqhjsbsznseight5dtnxnsix7
|
||||||
|
2shd3ksrtmbs62vvdvhd
|
||||||
|
9ninemdkkqjzjfour9mzspzjgmlhfq
|
||||||
|
7twoqjbshcfxldnkc33one83
|
||||||
|
zstxvfdthreeseven7mdfpgzgfourdfshplvqflfprt1
|
||||||
|
9mndn31msfprm1kpk
|
||||||
|
tmczplnmrsevenhmhprtllcktpr8eight9
|
||||||
|
49nine29917five
|
||||||
|
6qspssvm8
|
||||||
|
7fourninefourcpfgpmxqjsjxmjfntwonine
|
||||||
|
3nxfjmzhseven22one
|
||||||
|
tzgnljxhs9nine1lvqgsix9four
|
||||||
|
eightthree9eightfourninexl6gsdhljppfb
|
||||||
|
9g
|
||||||
|
2xlcvqrxs2eightznzdghnlvcfour8xbzk
|
||||||
|
xgmfqvdbsn7sixnineseven5
|
||||||
|
65zsghsnfbseven9
|
||||||
|
7skmb5
|
||||||
|
dbvjtf294threefournine
|
||||||
|
21hbtcfzbjhsbxlhd
|
||||||
|
27four
|
||||||
|
jlrthree9four8fourhqnsevenxqlmtsmzt
|
||||||
|
gjppzpvglfsvdmonercrsn4
|
||||||
|
3zzxmhc
|
||||||
|
ldfgpzjmtcbj3jvsltltjv1eightzrdczhrzpcssrsrxbj
|
||||||
|
szblqqfgxhxkk3fourvqnpzf1onesixthree
|
||||||
|
vsb37three
|
||||||
|
8kxdcgmpb2sevenjdvc3eight7
|
||||||
|
kgrsmfghvfivemhxnfiveqzzspmgmsvvghzd1fzcrkzdfsb
|
||||||
|
5mphlhx5dmcxxcpcxsrdzdninethree
|
||||||
|
hmqdkgvk4twoeight
|
||||||
|
2rjxxdcgtq5fivehzslfc
|
||||||
|
srqzfsvpfbnsvninetwothree6sixppsmfrtcrxxth
|
||||||
|
4fourtwocdxnzkbznnrf
|
||||||
|
4six419qpqfvfdpcrqvsjhgsfgrkpfmphseven
|
||||||
|
hxdcttl72seven
|
||||||
|
qkoneighttwoonesixeightfive2tzmrtpcthreefour
|
||||||
|
bnjqlftwobvsvjqptdp1two94twonej
|
||||||
|
eightninetwo278prrbvmcmf
|
||||||
|
seven79two
|
||||||
|
one9bx
|
||||||
|
cfpbdmjbcd27sixfour
|
||||||
|
16snbjgjzqxzplxkkclpxzdx
|
||||||
|
3scbbonenine5fivethreenine
|
||||||
|
21sixsix68oneninefour
|
||||||
|
6ninejmtrp4fivekxgdgj
|
||||||
|
6mhlddxbshqbseventhree3two6six
|
||||||
|
7four8smntchbmj71oneeight6
|
||||||
|
six25four196one2
|
||||||
|
2foursixftdbhbtd6
|
||||||
|
fourfonekfsxdgvglvtrnrrjzmmkzxljm3
|
||||||
|
3xckjzm
|
||||||
|
six9ssvkh1hdxcxmsptlxgdd8eight
|
||||||
|
2eightfourone2ninezslhqhdlcp2qxv
|
||||||
|
7oneclztx7xsxhrhhggfbhzdfgkdfvsqjskmdzj
|
||||||
|
fouronekkxqtrkptqz8
|
||||||
|
klccbbvbjsix3fivenine
|
||||||
|
rjrxdxdz33nine
|
||||||
|
sevenninen5
|
||||||
|
nineseveneightlcfrlftwoxlsmrjxnkk7zlzpbzm
|
||||||
|
rblvkfltqtbm18one7bvkzvvqrlbtf
|
||||||
|
gdcbszzf6sqldx
|
||||||
|
twoninethree23sixninebnzzjgqrlfktt
|
||||||
|
62ninetwo
|
||||||
|
fourfour44z8
|
||||||
|
6qxdvmpkq
|
||||||
|
sixfivesixthree3x
|
||||||
|
pcqfxpvb1threefive77
|
||||||
|
pncgzkppqqhmzmzjmzsevenxbsggc8
|
||||||
|
fivexxdvpl32rdsix2seven
|
||||||
|
9blqpthpvfourfour69bprn
|
||||||
|
8vxsdfbdjmldkvtkbr4three
|
||||||
|
threefive8
|
||||||
|
ck4p6
|
||||||
|
two9bpeightldmrnzbt
|
||||||
|
4dpd
|
||||||
|
one7four6rcvtvfmzmnineq3
|
||||||
|
4njtvkkstgmbjptcpdpzdfive
|
||||||
|
2tsl1sixgfbbpdhxgrfpt
|
||||||
|
947four5four3fivenine
|
||||||
|
fivelhtkgjhhzxfp3
|
||||||
|
7one1three4sixmcrjlkzrj
|
||||||
|
9fourxtzqsjjmxfivehttj15
|
||||||
|
2lqnfrgvdninedrdj
|
||||||
|
9rtxjbffmsbsqdrnjjdkb
|
||||||
|
twofour8
|
||||||
|
1sixfourone
|
||||||
|
nine1xzpqkfhmzkbqtzh
|
||||||
|
bbh9fqrbt94onebdppqmtjlq
|
||||||
|
one8nnngz5
|
||||||
|
vchszvlzpljt1pdv6tqsk6four
|
||||||
|
sevensix9qmjkrglh
|
||||||
|
5threenine7fkrtbcsevenjlxrkltp1
|
||||||
|
ggrsfivetwothree687two
|
||||||
|
jbtdsixthreexxvjbft5
|
||||||
|
1four2eightseven8one3eightwogrr
|
||||||
|
six6vtltzh65
|
||||||
|
7bbxlhgdbrh9sph44sbboneoneightxcn
|
||||||
|
lptqrf9twofzbmbbkkmt
|
||||||
|
1zhxmsevenlnsxmdcpz5one
|
||||||
|
63one
|
||||||
|
one3ninepcnphxdzvhvmcv846
|
||||||
|
nkn6eight21one
|
||||||
|
s1cnkm
|
||||||
|
sixone3
|
||||||
|
sixbvvmreightonethreesixthree3five
|
||||||
|
bvbeight5sevensixchfrkjz
|
||||||
|
hkfkczqffjmndzseven7fiverklvhv9
|
||||||
|
rsfccvtl9seven
|
||||||
|
fourczfive5threefive5qj3
|
||||||
|
9fivexskp3
|
||||||
|
tsrdgzcvftbvllhvcvzzthreetzzspvvjkrfgn9
|
||||||
|
bv8twotwo9nh
|
||||||
|
lbksl3cpgzlxjgnrpqslbsknglctwothree
|
||||||
|
nine9eightqhcdzfcp2
|
||||||
|
vckdtskc79threemblqcs3sixndlxfpq8
|
||||||
|
1ggkrvbpsl9ssix6one8zh
|
||||||
|
679one9nzsktvfseighteightwotjm
|
||||||
|
threefive7gfzptnxbvvlzlxbteightglseightworsq
|
||||||
|
843trvvsxdkfspsixonethreeone
|
||||||
|
hsrqmrfvvzkczhphc8147xrrnzldnvr
|
||||||
|
m6six
|
||||||
|
oneccnxglxone29
|
||||||
|
37jvhjvvlbv223mmnrthreesl
|
||||||
|
bpeight1
|
||||||
|
twocd8
|
||||||
|
4sevensix8twotwohhmzr2
|
||||||
|
djpbjhrcfour5vbpkmsgnjckrkvt7
|
||||||
|
sixnfrlbv8sixrqgmt4qmftxnrmx5
|
||||||
|
sevenzvhhfourchckzrljhfivevjbxxh91six
|
||||||
|
eightckclzxbkqmkncvfdxfx84zeight1
|
||||||
|
9stftdhkbs4
|
||||||
|
qrpbdqzsjfj3seven21zktlblk
|
||||||
|
seven87
|
||||||
|
lpms5
|
||||||
|
pdgpscn74s4onelh8
|
||||||
|
7ljbdfour1tnfive81
|
||||||
|
3rjlmtdvbr
|
||||||
|
lnvjkkgjc5
|
||||||
|
7vxlqgxk5lkfdnsdh3
|
||||||
|
jlpgttbf35fourthreenine3cdfxbsdgslczvpjssm
|
||||||
|
eighttwoplpbcbkltwobvzccbhxndndmgxdf5
|
||||||
|
eightoneeight4
|
||||||
|
rkfx585
|
||||||
|
9fourfour
|
||||||
|
7pxcnjslqgp98sixpkhvqjhjqgeightone
|
||||||
|
fiveeight1fivehvqrnzxqlkrcmd
|
||||||
|
sevenvgzkmhst8ninegcgzxkxr4dpdjsmone8
|
||||||
|
fourgjfncfeightlptffqjhrltngg6
|
||||||
|
sevenqkjdtxptzbtwo8seven8
|
||||||
|
757ltrfkjzeight57
|
||||||
|
1twofoursix2xcqkf
|
||||||
|
7ninetjngrkq7npldprkd
|
||||||
|
kqcgtnxvjv9
|
||||||
|
nsvqdsqzthreeqtzzhpd6xcggbnkxfone5
|
||||||
|
eightzkmbhtmpxxjlfqqvmvmbvgmbtpcbpz1
|
||||||
|
six1tpvs2sixnctjmdlc
|
||||||
|
695one92sevenggrsc
|
||||||
|
stpr38onedftngldtx8lrsgfljrc
|
||||||
|
1vbzxfive4fivetwotwo7
|
||||||
|
kdsjx2
|
||||||
|
dntkrpshcmqpgskcgsgvq9
|
||||||
|
6pskhmkpfive1nmkcvonemdfpqdtvdl
|
||||||
|
fvfndcnine7khthreehljzshdbkblgm
|
||||||
|
eight49rcbnkmdthreegqlgvksvxksqf7
|
||||||
|
22xsix
|
||||||
|
twosevenfive72bccn8rbzkfczgssqcg
|
||||||
|
two9hclkszjmxonetlgjfive1
|
||||||
|
dgpm6nhzkkqng
|
||||||
|
qrnkpxnn3lltxqxxjzxdkxhlkceight3eightthree
|
||||||
|
two5two4one61
|
||||||
|
59ninesix
|
||||||
|
3nineninesevenfour
|
||||||
|
9cvsx1jzrxhrxshldtbbn9
|
||||||
|
65four
|
||||||
|
three738
|
||||||
|
cvj2sevenxrsdqhp
|
||||||
|
p255hztrqj92sevenjlpzm
|
||||||
|
qjsdgdjrxdsjdfx7one
|
||||||
|
6fivexm1qhxbgcvkvxb
|
||||||
|
fourxdnpqmjs3bqnzzphp1
|
||||||
|
7nmrndvq7jnxnlsseven9twonelxb
|
||||||
|
four1sjnh5zkrrlxxj
|
||||||
|
hphshrj3cztfgm23two
|
||||||
|
1zgvfourninefivetwocllkr
|
||||||
|
1mgqmktstwo
|
||||||
|
5ndrsix5tdmfcjbgvff
|
||||||
|
4onefive9918eight
|
||||||
|
sevendbtcttvmcnljp3threethree1vmsggrpx
|
||||||
|
four5llnsvvcrcgd7sevenldffd
|
||||||
|
nine2five9fivemfour
|
||||||
|
2cpbhssgzfsrhjtq2onefmpdqfivehxvbzpfmg
|
||||||
|
spglsevenrtbrkpnrq6
|
||||||
|
bbfqkt5nkfrzl99gxdlzzsb
|
||||||
|
6csshxkzkshsxnnineeighttwoclslvdkjkc
|
||||||
|
five9pcb2nine4two4b
|
||||||
|
brzrd5threendzpvs7ldkjxmpqqr
|
||||||
|
one4vdtwo
|
||||||
|
fourseven5493dvldshvz
|
||||||
|
1gkmnj
|
||||||
|
ninethree8
|
||||||
|
vshbcvtvvf4eightonesix
|
||||||
|
7nine485eightrmxbrd
|
||||||
|
dctwofour3
|
||||||
|
18ftwo
|
||||||
|
twotwo8rzdbgeightthree
|
||||||
|
sevenztlzzn38nine3jtnqjsnine6
|
||||||
|
14qrvcspxmr4
|
||||||
|
783sixxkkhrpqjrt5ninesjflktt1
|
||||||
|
73five3
|
||||||
|
nrtwonetlmkldqrcjqrdn6gptzdclninethreenine
|
||||||
|
8sixxqfl
|
||||||
|
sndlpvjr3
|
||||||
|
hx5zzlqk1571three
|
||||||
|
zvl1
|
||||||
|
1twotnqcmfqrnr33rrhghsdqddpmbzd
|
||||||
|
nine1threevcninetwosix7m
|
||||||
|
six2onesix1xqjzczdrl3
|
||||||
|
15jkhgkfzseven26
|
||||||
|
fntvfkhfzsfour7onesevenfour
|
||||||
|
sixone653
|
||||||
|
hnvftxjthnmfive1sevendfnpkpffgj
|
||||||
|
rdktwone9fourkklk9rsseven
|
||||||
|
2fivefive4eight
|
||||||
|
vmfour34lpjzbr517nqkthkljv
|
||||||
|
hk9rqtwozr189
|
||||||
|
fivefive3
|
||||||
|
5one6four9twohsnjkcp3
|
||||||
|
one77twoeighteightfive6twonek
|
||||||
|
vrxbxdgmtwo8tmglzjx
|
||||||
|
lp4ckhf
|
||||||
|
srh2
|
||||||
|
hsbkzggsfgeight5qhblzgsppxbdlpvhvcpgkndzkjtmpggpdx
|
||||||
|
sixzvhnnzffnsevenfourpkxnvc7one
|
||||||
|
fourvgv19g6xhphkdt
|
||||||
|
fgvl8nine42
|
||||||
|
four97five4lfcmzchtbmtvtvbr
|
||||||
|
3onesevenqtwo21jjpgtwo
|
||||||
|
four44fournine1
|
||||||
|
twozhhvcxck6
|
||||||
|
skpvglmddmxlsrt3961nine
|
||||||
|
8twoonetwofourtwokxrplnrvhmthree
|
||||||
|
7ktxhsjdml6twofive
|
||||||
|
zfdtjbrfive669bscgkpeightseven
|
||||||
|
zmghddqkseight5two63three45
|
||||||
|
x4one
|
||||||
|
5one1pcv9kkninenine7
|
||||||
|
b678two
|
||||||
|
x7
|
||||||
|
97foursevenbhrxdpkv1
|
||||||
|
rjkfdbteight8fivejrspls231
|
||||||
|
six2skbfzvnlbvfour61seven8
|
||||||
|
2mcqpccjfs5
|
||||||
|
8tm
|
||||||
|
kr9pmdxkzjsg69fnkrrphlxqpsqjhzbznine
|
||||||
|
eightcqmdq8twozbbzfkxlhsmmv7
|
||||||
|
xvgflfourkhn3ninebx9fivedzsmsnf
|
||||||
|
crrsnkfmvtwosmjk7
|
||||||
|
8four8796
|
||||||
|
nxqhdsczcgnvq5
|
||||||
|
8five5two9three4
|
||||||
|
6clffour2eight3zgzjnnmfsix
|
||||||
|
1drp4six2rtszhttwotwo
|
||||||
|
zkmlfive7
|
||||||
|
245eightnine9142
|
||||||
|
sixfive1
|
||||||
|
xvnbjvfivezhzfpvnsthree5bvvfive5cxjfkszprp
|
||||||
|
3bbvmq
|
||||||
|
13
|
||||||
|
946five
|
||||||
|
5twooneeightbhxfhpvjmlgtkccqgmqjnq
|
||||||
|
mlq7
|
||||||
|
122fivetv4
|
||||||
|
fiveseven833pszfqhbt
|
||||||
|
229oneninenine414
|
||||||
|
knmvqkkh1cjbbjnjzrtpxdjznn9six
|
||||||
|
78nslms
|
||||||
|
vqrdsmtjtgfourninethreefivextgtwo5t
|
||||||
|
slnrndksnb95three8vrskzqzfthree6
|
||||||
|
4twofhhqdghjssjkkcjlbjthree
|
||||||
|
2xsnjsfngdqpzfmltkrsk1hvhktwo52
|
||||||
|
sevenxxmxmmngqmdx2lbthree
|
||||||
|
five823nine
|
||||||
|
dszvsjnzn7
|
||||||
|
tmvlsfive5prd
|
||||||
|
six3nine
|
||||||
|
onerzskmfthree3sctlkhcqrdzc97
|
||||||
|
eight34kfour2cdgnnkdff
|
||||||
|
dmone3three5hjndcbbonethree
|
||||||
|
63five5513pdgczone
|
||||||
|
6fivechs4vk
|
||||||
|
3zlqsxzqdnpseight5
|
||||||
|
five6eight13eight
|
||||||
|
zjknbtptmdzfour3one2seventhree
|
||||||
|
sxshgxbcxs64dmtzplkqnfffkpz
|
||||||
|
rml4b65htpzcrlrbn39
|
||||||
|
8tlpnvnrhjb57
|
||||||
|
fivetwo1five
|
||||||
|
9nrrms247qcffourone
|
||||||
|
n6two2sevenvtfsxhsn
|
||||||
|
dxjtpsfjcssix2ninefour
|
||||||
|
qfldkljtbqc4five72fourjqbkbrh
|
||||||
|
3nine1
|
||||||
|
jflrjzjzfour3four8threefouroneeight
|
||||||
|
fivefivesevenseveneight771lhpzhb
|
||||||
|
nrszb3eight1tbzmmps79
|
||||||
|
8kkskdtwoeight78eightvbmv
|
||||||
|
4bccrqxmrvd1three
|
||||||
|
nine93fourjhspbgnthree364
|
||||||
|
11q
|
||||||
|
three7fourthreeftbxtmmm
|
||||||
|
mznine6six1
|
||||||
|
sevendzpcbqjfdk83twobgqfourmkzfzflnn1
|
||||||
|
twocvbtssm72
|
||||||
|
keightwo12
|
||||||
|
fourzxcbncddhthreeqsccqgsf4crzszqdd3nvvjsix
|
||||||
|
jmh3ggvdp
|
||||||
|
12fiveninefoureight
|
||||||
|
3tvlmfpkgrdthree2phmllhczeightj9qq
|
||||||
|
sevendndrnfpfzmgvfqnkp8pcjlttzfour7
|
||||||
|
dvtbsjreight1fkdlffive55bxzpsrnxtbfour
|
||||||
|
7threeseven
|
||||||
|
qrhzdlsb4five
|
||||||
|
bvdvjfqvtrtqntrrnqfpf87njtjgxzkgbcnine
|
||||||
|
z927
|
||||||
|
one2eight
|
||||||
|
7dpszhz3pfnrrtrkxjn
|
||||||
|
8mfkvn
|
||||||
|
258lkpqdc3five733
|
||||||
|
1nine1threefour
|
||||||
|
nnbfzxdmm828cdgvfive
|
||||||
|
threetwothreethreetjzskgfive4
|
||||||
|
six893sevennine82
|
||||||
|
3ss48phseventwo24
|
||||||
|
xgbpshxnkvcppnninepjcztcsevenqbnjcjftpxxkpqp66
|
||||||
|
8mlkbpdpftwonine4
|
||||||
|
5three6six1seven
|
||||||
|
91onelrttnjrcqjtnrfivec
|
||||||
|
322one
|
||||||
|
sevenmfpxvntvkpqvpbnnbpr5seven18sixeighteightwok
|
||||||
|
jnthkgsrone6vnkdvkjznjnboneoneseven7
|
||||||
|
five81472
|
||||||
|
2onefive
|
||||||
|
nine9oneqfb7
|
||||||
|
tcf2two2145eightsix
|
||||||
|
vdjhlrksdhcone17three9qoneightr
|
||||||
|
fiveone82228bgrr
|
||||||
|
5rfxlfbbjqninethreefour
|
||||||
|
eight641
|
||||||
|
2pjmlgrrzvv
|
||||||
|
kpqsxmvhp4twohnlsone3eighttwones
|
||||||
|
35sixd9eighthm89
|
||||||
|
8four5onethreeqmdmttvchslfvnqrbftthree
|
||||||
|
fivemmbfjmq1jlvzsix1hgkbr7bxcsc
|
||||||
|
eightgmjxseven5fivefiveslbfsqrjrnbhqzgr
|
||||||
|
xr18oneqjgsnjfzcsix4
|
||||||
|
9threefivekclcmrnsix654
|
||||||
|
onelnh6sqvzxeight9
|
||||||
|
6vjjpmmxxknineone79
|
||||||
|
cdsfmz97twoninetqhhtsljsixseven
|
||||||
|
8five6
|
||||||
|
ninepkp3
|
||||||
|
eightfour4fqtrlnzt
|
||||||
|
one4pttsvonexsj4
|
||||||
|
fczlpseven261
|
||||||
|
9six6nine5nb4fouroneightv
|
||||||
|
2snzvzxkbbpcvd
|
||||||
|
mvnqjkcmkhrvnsxt3hjkj2ninethreezzbbrsdone
|
||||||
|
zktwonemhqnxssxftwotsd1nhfmrxpffoureight7
|
||||||
|
qfhlmpxhxpthreennlk7chk7zzmlqxmtlk6
|
||||||
|
7dxhzpmtwog9
|
||||||
|
kfkmpmzxhn6four87rcthd
|
||||||
|
bvplp656vtxxlqvmm6187
|
||||||
|
811beight
|
||||||
|
39586547
|
||||||
|
18twok
|
||||||
|
pfxsfxsvkjrb9
|
||||||
|
38z9trcxdbfivedmhtdrfive
|
||||||
|
19bhddbmbkbg77
|
||||||
|
four522
|
||||||
|
7vshvtblzonefbfcfgsfive2
|
||||||
|
mgtwoneonecthreefoureight37eightjqlxf
|
||||||
|
eightnine67gthszx9tzxczcpone1
|
||||||
|
fourfourthree2fivejrfgkb6seventwo
|
||||||
|
4dnreightrv6ql3
|
||||||
|
csfgqxjdvm22jjnr9
|
||||||
|
42szlhdvbdstllzldtcblgtfive7gnctbrmvmn6
|
||||||
|
ztwoneeightfourzzsck7seventwo
|
||||||
|
two78
|
||||||
|
1hxqtdxjqflthreesrzzdbxmfnvk89three
|
||||||
|
rnprnnpbjq7fivetwoneqsh
|
||||||
|
hkpjjpbl3nineone6pcszznjft8d
|
||||||
|
gcbtzdtkhnbbjnftwo2four7nineseven
|
||||||
|
3foureightonesixrfqrjlp
|
||||||
|
qvftcskmxdvnsrzqfourfivethreenine99slncxvjrcn
|
||||||
|
six5sshpxtr88
|
||||||
|
7twofour
|
||||||
|
four143
|
||||||
|
vrxxmzfp8
|
||||||
|
four9tg8bfonesix59
|
||||||
|
three3onezsqdtkrceighthnstg6three
|
||||||
|
7seventwonine
|
||||||
|
fivetwofour9nine1two
|
||||||
|
twozfdvkjzbtwo6xrjgmfgsxv
|
||||||
|
1dqfcfjcbxxgxrksixnine4
|
||||||
|
rfpgseven5ninezdmbx5
|
||||||
|
622
|
||||||
|
nine19fivetvm
|
||||||
|
eightthreelpj58qjlnhr
|
||||||
|
9fourjtczvxfourfivebmzds415
|
||||||
|
3fivejbgzdsx
|
||||||
|
fcqdbxgjf86twofour
|
||||||
|
nine6oneone
|
||||||
|
onefour1
|
||||||
|
onestc6eight3oneseventhreeone
|
||||||
|
seven2six
|
||||||
|
plbgd5nmppgfpbtphsxldrllpmnprm
|
||||||
|
1three14eightbvnzx83
|
||||||
|
four95kkpjsttjf8one
|
||||||
|
mrkrgj5xtqvvzpmxn8nine
|
||||||
|
nineskg78nbrnonelsxfxkxlrc
|
||||||
|
qxnvkcx1one
|
||||||
|
9ztbs2grvsixsqt94
|
||||||
|
sevenjhtd7
|
||||||
|
qjb78nine29
|
||||||
|
3oneonegjtcppfrjs633
|
||||||
|
3clhz
|
||||||
|
1v398nine
|
||||||
|
mqlsevenlcnblh94
|
||||||
|
5fiveseven
|
||||||
|
73rbhnnsixsix7ntssps9v
|
||||||
|
svjsgvdsrspmsxzkczseven11nine4
|
||||||
|
onefjncqnsbsvqqm4478
|
||||||
|
mfzfzjhc1zgbtt
|
||||||
|
six1sevenseventwokvbtwogvpstm
|
||||||
|
one56nine
|
||||||
|
8sxhbpfrxfsixl9lthreehr9
|
||||||
|
44nine4threethreedbbp
|
||||||
|
seventhreedp66gnxvfnpzvdpqflnx2
|
||||||
|
twotwofour37cmfzvxqjp5seven
|
||||||
|
1twonexlr
|
||||||
|
sixtwosix6seven7g
|
||||||
|
63zscqhtonebtcjfdjqc
|
||||||
|
fiveklbblk4eighttwonefdf
|
||||||
|
seven7one
|
||||||
|
zz361tmxqdpmgseven6
|
||||||
|
5onethree6cgkfkdcmnine2blhxzqxjqk5
|
||||||
|
threefour43dp
|
||||||
|
hcmjsszeightthree4tsnppskn78ggl
|
||||||
|
7gzqsthtmvszmjvcgseven
|
||||||
|
onethree6sevenonetcxsseven
|
||||||
|
3twobzbxc9onelxfkvgsnhteight
|
||||||
|
hnljcxrhxhjkhmhtffjrcqmeight7kcjmhjlvmgq4
|
||||||
|
5nineseven6lkxzlbf
|
||||||
|
49jxmvnql8crs
|
||||||
|
qgq6eighttwo5one
|
||||||
|
1xclqfour8bgqsjknine
|
||||||
|
mrheightwogfglthreeeight6threeeighttwodfkjgp
|
||||||
|
26three6nfrxkhqlq93seven
|
||||||
|
3two4gjzmvvnrhdthreekrqhbfgssjghksix
|
||||||
|
sixone6sixfour7four
|
||||||
|
zbsvkkmhmcone677hmjsevenrqmng
|
||||||
|
mqzjpd5foursevengxmsbjhl
|
||||||
|
lmrpmthreelthree19tvbnbfqggnftwo
|
||||||
|
x3
|
||||||
|
6zrhpdnxqpbfourltbvhlglvseven
|
||||||
|
3onesixeightsevenqjjclpcndtzgnzcv9
|
||||||
|
fiveeightrm6
|
||||||
|
cfqonesevenszbvlkdpfourninetwo6five
|
||||||
|
9lhlsbntzfourhvxfxgfjfivezcvqfshmldcmmhb
|
||||||
|
oneseven28pjmqkd
|
||||||
|
one5three284fhrbztwoseven
|
||||||
|
jmhj2rnf983bbzsmts2xf
|
||||||
|
one981eightr4
|
||||||
|
tmtwo2zrjdd9five
|
||||||
|
4eightsixsix
|
||||||
|
q3rszpbkftqv
|
||||||
|
6zndd7
|
||||||
|
7sixflqjpcgrh4281
|
||||||
|
89ninehbfklckdglmcgvm2
|
||||||
|
712gsfgtdvthree
|
||||||
|
nine5knlzninerspkdklnthree
|
||||||
|
dhjmgthfiveeight79threefive
|
||||||
|
87bn
|
||||||
|
4eightkbppvkx9sevenzqcfrqlbxmk45
|
||||||
|
fourthreekvtvdrlgjrk2four7c
|
||||||
|
six6dlmmmvfkseventwoonesix
|
||||||
|
47rsjqzcqsnffourqdggnkpgsqjgprhrx2
|
||||||
|
ptbtpthmkeightxtzjftbff6dqzdq7
|
||||||
|
48sixcfngcjngjs3bszknmgzjthree
|
||||||
|
nmcdlgrrdrmrrbpfn1
|
||||||
|
5q6crrhphbmqr8zdddmnseven8
|
||||||
|
fxlkdnq6
|
||||||
|
threeffvsrjdbtfk6trsgmkn
|
||||||
|
one3fourtwofcqsgcvvg
|
||||||
|
eight8onexvdtthree1pzfrllrjrtktzvnrp
|
||||||
|
hlnine3
|
||||||
|
54three3zxbdtjrlzone
|
||||||
|
5qjnpjvnzpfive2two71rphp
|
||||||
|
njseven6four
|
||||||
|
bgpkmfcbl72
|
||||||
|
9vmjgvhvfvd1
|
||||||
|
ttbmt46two
|
||||||
|
mksvjgxsbdnlg8eighttwofourthreesfn
|
||||||
|
mtjm6twoseven46
|
||||||
|
fivefourcktdqsdlvpdq1eightwolc
|
||||||
|
45twoneqs
|
||||||
|
sevenplrfqrhfivejqzrnv3
|
||||||
|
9nine4threetwolk6sevenk
|
||||||
|
5qxpfourfqtg
|
||||||
|
34cpbblldjfqpltcntpzninetwo
|
||||||
|
7eightfivehczsxqhglmtpsxk8hkksbzr
|
||||||
|
69two9
|
||||||
|
6seven33pggfive1
|
||||||
|
sevenhkhrj2
|
||||||
|
4phnnpxthjn8
|
||||||
|
4vnnfqdssrfive8seven8ninedfhl
|
||||||
|
frhf15three4vvlgthree
|
||||||
|
4nine3
|
||||||
|
57hlrhqmxxxbl
|
||||||
|
eightjhblpnjk786fivekrq
|
||||||
|
rj9twofour
|
||||||
|
lmszmtrhpthreezbdghgfour7sixtwofive
|
||||||
|
ninesixrlxxsskgjpqfdpzbthree5
|
||||||
|
qbddmnpgskf1tpfive34
|
||||||
|
fxmninejzl319twoeight4
|
||||||
|
two7ckzsmvqfcbfourthree25
|
||||||
|
xzhqltqmdfourqshqmlxpninecbrsclzftwotwo7three
|
||||||
|
one3zdppmxfroneighthb
|
||||||
|
eightsix8tmh7fivesixgbdttd3
|
||||||
|
pnhkxlcsh35
|
||||||
|
four45
|
||||||
|
9sevenfivehxr4eightfour8
|
||||||
|
rmvmqbclzr5bmsxdzxgptlhczgsh42eight
|
||||||
|
bpbbvbjrptfourqpkdfqkjcrrpone1b3
|
||||||
|
2six6
|
||||||
|
ninesixthreexshfvpb5
|
||||||
|
3xhljmkxlr1clcqkmbdrmtxptgl
|
||||||
|
gfkhdhgv27ktc7foursevenseven2
|
||||||
|
eight1eight4
|
||||||
|
nine4vzdqjs8three9
|
||||||
|
2lhmbfzonetwo9
|
||||||
|
nlhkm83cslc5three9sevennine
|
||||||
|
thhllmnnpxsbtjvnrnhq8rbvhzfrxzqqqhccqlzfggseven
|
||||||
|
four6six8kqmjzk8
|
||||||
|
gcrqzmbsh7seven6
|
||||||
|
8five575four9six
|
||||||
|
four615
|
||||||
|
41xzlprtjncrlzbcgvbmclsqrnbdone6
|
||||||
|
sdphx53c
|
||||||
|
threefblfr1seven3
|
||||||
|
xqh1one
|
||||||
|
qztslzlkheightsixkrpfourtwonine7one
|
||||||
|
nhqdsngrf8seven7dkbkfbdgdcjvnmdbzx9
|
||||||
|
7qrmrsnhvfive4klcrkkbtwo
|
||||||
|
qpltxmjl3twosixrnvmlqvgrgmgninetwo
|
||||||
|
43lbsbgjkng1one
|
||||||
|
lzjqmlxnk452zrglhpbpvtwo
|
||||||
|
fourlmcprk36mthree
|
||||||
|
cssthvvxrgpks48glbxk
|
||||||
|
qpmkfxk4fourbmnbfzhgn2three
|
||||||
|
zxkntbdnm3fivethreesixmkgztvrfpkjgxljbm5tt
|
||||||
|
1vlhrcllfjtsgmqcvhcbcr98
|
||||||
|
nine6dlkvtfjfnq3hbxxm
|
||||||
|
eight42
|
||||||
|
mnrdpvdpklgkjnrz4
|
||||||
|
1seven93ninesevenjqmeighteightwoz
|
||||||
|
seven8933five4seven
|
||||||
|
9lldhvdqdzvdgptsmf1eight
|
||||||
|
7fiveninezfourkrltflg
|
||||||
|
threeseven9
|
||||||
|
7hjfzpltbjqbkx1two
|
||||||
|
1twoqghxlrpmfourfivefonermntbg
|
||||||
|
77eightjpgmmjst4
|
||||||
|
9three8586nine6kb
|
||||||
|
three8ninetwothree2
|
||||||
|
13xrhdzqsonesix43bph
|
||||||
|
foneight7
|
||||||
|
29one
|
||||||
|
rth7cczktksv2
|
||||||
|
frrpbtjjcdfccdl1three
|
||||||
|
one5six4
|
||||||
|
ninehszc5svnhfrqm
|
||||||
|
threezfrmbgmjzg6
|
||||||
|
9eight8one8fxlkdjhql
|
||||||
|
fivesmtkcsskrq7hxqbfkbqlninegnqddjrvxb
|
||||||
|
zfivehhknpdm7fngjpkbvone
|
||||||
|
7five8
|
||||||
|
qkcxcpjzggzdxrfhlbsdbq17
|
||||||
|
654mk
|
||||||
|
2mqtgbmsnhq4zv48jzdchccdpzhs
|
||||||
|
rpkfj1hkrztwosix4bktdfk
|
||||||
|
seven9bxjmvrbb
|
||||||
|
9threethreeeightppdkjzltclnq8sixnine
|
||||||
|
7seven92
|
||||||
|
567onefour8bsgjtrvsxkjlsc
|
||||||
|
1dnbsjbdsrsscq3ninefour
|
||||||
|
vbpkpgssljgtxdfivethree6
|
||||||
|
eightsevenrkkjszmxvxtwo9jpvzldd6
|
||||||
|
one7523vgpvlkd
|
||||||
|
foureightonepeight4
|
||||||
|
9fiveeightone
|
||||||
|
nine7one9
|
||||||
|
g328dbspnkseven
|
||||||
|
threeclqhr97five
|
||||||
|
8onefourffhrmfkvctt
|
||||||
|
2pzftpmvzfive
|
||||||
|
433tvdzmcrdl
|
||||||
|
five42ckvlkgkjxh35sixd
|
||||||
|
nine6hs
|
||||||
|
99cmtdzjtpxk15c2
|
||||||
|
tconexjkkh9
|
||||||
|
sevensix5oneeight
|
||||||
|
twotwo4ncmpzpvvdrsxkpnpfkjseven
|
||||||
|
nine42
|
||||||
|
7sevenxntxxdnfckbkdh7seven6eight
|
||||||
|
2foursevenzvdvhmzscd8gmlxxkqxd
|
||||||
|
5sevenrzntpronehfpbdcmffdscfvsqjcvnbtqzpph
|
||||||
|
threefoursix6ninegdpmtlsix
|
||||||
|
lxcflpcvgctxhm1nine2
|
||||||
|
seven4one9mkkznineck8ptpc
|
||||||
|
seven4qtgqrcvfcfourzfdnx
|
||||||
|
md13xsdltxltqhninemjs
|
||||||
|
fourtxtscncgxvp3tqthreeseven
|
||||||
|
8zzvkkmzhr7sevenfive776
|
||||||
|
91sgceightvgzjdkkkthree
|
||||||
|
mfmvgtck5gbjstzvmfvtmr
|
||||||
|
nine57one84sixmqt
|
||||||
|
threekslcvdzlhhq6dqtkp9two4
|
||||||
|
2slmvrvz38
|
||||||
|
foursix6qlqvzqbdzf2
|
||||||
|
mftwone3eighthhcsgfvrrj
|
||||||
|
174bx2ninetwo8
|
||||||
|
ninetwo7mzlcjkmj
|
||||||
|
37four2
|
||||||
|
cjmlmtwovrvsbmeightthreethree3lkq9
|
||||||
|
cscvfbgpjmonep8hmlnvrhvgsqrvcp
|
||||||
|
tmqkssbt79ninerfgh88
|
||||||
|
qdsxzxcseight7
|
||||||
|
eighteightnine8threecbcnfdtm41
|
||||||
|
ljpcfour1368nine
|
||||||
|
hftwoneninesixxxmdtcfd8lbvqdjg
|
||||||
|
kjktdqqbfourdvkjlprhkzgfivetcddgds1
|
||||||
|
qjeightwohvvdbqdnbknktv8six4four53
|
||||||
|
6482cbb1
|
||||||
|
sixcczlxcthree35lqn51
|
||||||
|
rmnmjsthreehfxsjqlpkjxmdkg7three
|
||||||
|
94lhpqldseven
|
||||||
|
fctfxjvnine7
|
||||||
|
sqnthxzkctfk98
|
||||||
|
8xpknqzfkone
|
||||||
|
9threeonetwo
|
||||||
|
59d8twoshphfzlk
|
||||||
|
26vtseven6bsfkgxmjqnine
|
||||||
|
6nslcxpglfoursevenoneseven
|
||||||
|
sfvpkkvdkrfour31one8bqcrtwokhqp
|
||||||
|
29vrcx5four9
|
||||||
|
43two
|
||||||
|
eightsixpcmhlk7nhpxhmnrmponesevenpkfgxmrfnq
|
||||||
|
svfjcqdtnmcrtjdgseveneightninetwocnbrrbcgmreight9
|
||||||
|
25cxhtcxvgkjlbcshxrfour7rcnkzmm
|
||||||
|
onethree14gvjpp
|
||||||
|
sevennxlncmqpkvlhbts1mhpfxzqf8
|
||||||
|
six6fivesix
|
||||||
|
3fiveone8one6six57
|
||||||
|
tqgdrncxgpxpxz33
|
||||||
|
vrdxxljfeightseven63b
|
||||||
|
onetwo56nineone9kkb
|
||||||
|
nvpqcnrgqrrnzqsqrh4four
|
||||||
|
67twobvxksevenztnhfpzkj9
|
||||||
|
rxddljfhxhlbqqrllk3six
|
||||||
|
8twosevenone
|
||||||
|
onejxjpcnzljjdkbkmgvvrjrkgxgpqzdmpjzt4
|
||||||
|
ftbssc2fgtmsrjbr
|
||||||
|
djxnine1seven6sixone
|
||||||
|
grqxsevengkkgv83fhspzflvfbqjrm
|
||||||
|
ctsj5svksdtwostmft8twonine
|
||||||
|
two9thpzhrcvdl4
|
||||||
|
one2seven2plxkgkldxcpqconecfnppseightwovz
|
||||||
|
prleightwoggdqszvonefrqhh791vxxcfv
|
||||||
|
nine4seven6ninepbfoursix2
|
||||||
|
fourthree8threett488
|
||||||
|
six984three9r3xjnmvp
|
||||||
|
261
|
||||||
|
twoonedrbbmvrm8fivejsix
|
||||||
|
6onethreethreeeightxpcchknine
|
||||||
|
two55oneone3three7five
|
||||||
|
three3threekgpsix
|
||||||
|
rqvfvm9ninesixninesix7pfsxcrx
|
||||||
|
4oneeightsixfive
|
||||||
|
2fourthreeqjppmfjfxnzfdhlr
|
||||||
|
9gctq3
|
||||||
|
vtzcng2jhrhgsqhq
|
||||||
|
eightmmxz6ninenleight
|
||||||
|
sbzllxonemjfffkhltgpshkmlrjb7oneone
|
||||||
|
7fourfivefivefive3qjfdzclghxtc
|
||||||
|
fourfour9hmmlhhbxfour46twomzsgpkht
|
||||||
|
fiveqc45
|
||||||
|
2bvseven54sixghpnhleights
|
||||||
|
2qlhvfive6ffpbhftfp6
|
||||||
|
4sixone1sevengqqqjbzr
|
||||||
|
spq17sevenhjfkkjzdf
|
||||||
|
eightphqcjzdfzpttgxbsix1fvmnvqczr
|
||||||
|
9hxzczdhdl8oneqkqdlseveneighteight7
|
||||||
|
gllbrsevenfour4vfcgth
|
||||||
|
lxdqx59mvzfjcsjl9
|
||||||
|
three2eight3seven8rzsthree3
|
||||||
|
two8seven64
|
||||||
|
eight4dqqgeightseven
|
||||||
|
71threejdzzk
|
||||||
|
6fourgtcqnjkzjljksdqtbddpvxznvmprjtr6
|
||||||
|
3fxkdgm
|
||||||
|
eighttwo3four6zg
|
||||||
|
6rxlnjpgkkstkbzj
|
||||||
|
74pcpzgndmtjgngonejfskscqfgm
|
||||||
|
dfssmbbxf873rhrbxnfzcp
|
||||||
|
bpqlnrtn5eightsixdschkk
|
||||||
|
lcrhcxvbrqhbz1one8
|
||||||
|
46mrpfrtpnzdkshjgfxnrjbtntdnfive
|
||||||
|
tlgtzp86twofive
|
||||||
|
eightpmbdvzmdmpfivebphsv2pzxtcsrvtgnqnhvsbdf9twonehc
|
||||||
|
xqkbgbseven5
|
||||||
|
bheightwotwojl1one8
|
||||||
|
five7zsixgsmtvpxkkdrjtqtfjdjln
|
||||||
|
poneightbrndfh97kqtpgcstvnine6
|
||||||
|
svhgqmjgfoureight7twodsmcnjh6mmncjvltp
|
||||||
|
79sixfourdlprglcm
|
||||||
|
five31
|
||||||
|
ncnmdbvvhnpqxzkktjzbsqxb42
|
||||||
|
twoone8mfxc
|
||||||
|
sixtwogxhhvcqpvzjmnltcdskdthree3nvdqeight
|
||||||
|
stwone15
|
||||||
|
threethreeghzvvdkd7
|
||||||
|
fivesevenr3nj
|
||||||
|
five6rmrccmczninelshone62
|
||||||
|
8threet4nsrrkhg6bprcjtrpgclp
|
||||||
|
3twoseven5
|
||||||
|
26twopqtvsks5
|
||||||
|
ninemhgqvchgzgndlone938five
|
||||||
|
5twoprnvvvfcbninexxfrh2
|
||||||
|
6fdpxffv4
|
||||||
|
ninetwo5one6nqngsbqghbphngmone
|
||||||
|
kvqfvnxnine9552
|
||||||
|
1lmht
|
||||||
|
6jvngqeightqnp925
|
||||||
|
one53rqlbdzfive453xp
|
||||||
|
32gntcntdtcv
|
||||||
|
6qxdnhpvrcd5fivenpmqb
|
||||||
|
sevenninesevenfive9
|
||||||
|
98svjcb1nine
|
||||||
|
777ctrsnjzlfbxdzbvckr
|
||||||
|
6three4onetwofour2five
|
||||||
|
27hdhhbv68sevennineclpdtb
|
||||||
|
mknzmjqsp5xd7vdmfkbcfpgst2
|
||||||
|
39twotwo
|
||||||
|
d78jjxpgrgmpbthreefivezlbvgphnsd
|
||||||
|
mcxgg3one7eightrzbdqzvfnvxn
|
||||||
|
ncmfng86sevendqscgbmlrjnkvgqmzzfff1
|
||||||
|
fivejlsdtbktwosix3
|
||||||
|
npnxr6five947
|
||||||
|
2prjccpmn3hfnxpqht8nine5four
|
||||||
|
hfqrqpzfkqllthttmb4kcvfgtmp
|
||||||
|
2fourfour
|
||||||
|
6pj9fivenmhdlsx
|
||||||
|
6csv7ninesevenlzgzninesixsthrlvsst
|
||||||
|
7one83
|
||||||
|
7mlrfqmjq47gfgpqgkgmpq72
|
||||||
|
six5pnslzjhthfour67kcvgsix
|
||||||
|
ninetwothree3
|
||||||
|
vb91two4two
|
||||||
|
eightdqmnsxlhhkz44two
|
||||||
|
trzzone6tcvrsznine7kdctnine
|
||||||
|
nineninefdfnxsixnrq2ninezrn
|
||||||
|
bl79eight59
|
||||||
|
jvjxkgjrbqdmnzk432sixmblqqmpn
|
||||||
|
two39hthree7
|
||||||
|
tdlcjpj5jhslsgfcx
|
||||||
|
4two9jzdfzbbp
|
||||||
|
9six7gtbk15vqzhhsbtxgmcx
|
||||||
|
7vptsbpmq1
|
||||||
|
59nsfbgxkvphnqvt
|
||||||
|
dmffndtn9
|
||||||
|
gzfnfsrdmrgtrbbsfive586xhrc
|
||||||
|
cxvgfjjvbtlvkpsgsknine4jjgntjjzgfqrmlfbx4six
|
||||||
|
3tszbt1six3
|
||||||
|
ptjjhztq9eightseven
|
||||||
|
zglcldrtwo5fqhvmfivesevenxvkxl9
|
||||||
|
sevenonephscj3foursix2
|
||||||
|
ninelgclbhv37
|
||||||
|
fczvmgkzbm2jnzbgxhqmzoneqsrdj61
|
||||||
|
1v8hpchzrvnzfbxninencjqdtqvgl
|
||||||
|
seven6threeone
|
||||||
|
five2sixrlfqftqzgks
|
||||||
|
6three1xzgnkrzl2krjtxr
|
||||||
|
zgkjvnkczstwolctzzlsevenone6bglzxscglsnjm
|
||||||
|
3kvxbzmpvrp
|
||||||
|
75vfz2
|
||||||
|
vpnh25eight
|
||||||
|
cnsdklvrsix2one
|
||||||
|
kvlsjffgfltbkckcznmgrr8
|
||||||
|
56foursix
|
||||||
|
pmhgkfonehjdslqbdc4eight9
|
||||||
|
twodmmsk57nx
|
||||||
|
lfjvsz6fivekfivefivesdplsixpx
|
||||||
|
twofivethreeqdgf3eightthree
|
||||||
|
43sevenhnvsp
|
||||||
|
threeeightzh3threeqnncknpxgseven
|
||||||
|
4vbnmhgrmtsblrhrtoneljbbnvxmtvbfzssgone
|
||||||
|
5kvqfxmlkgcmlmgbfiveeight
|
||||||
|
55ztqqfzvmdppdpq1three3sixtwo
|
||||||
|
26bskpdjql
|
||||||
|
threehhgxmxdz1five94eight
|
||||||
|
52fourzcbcfknlvlrnvhbnldq
|
||||||
|
three49four8gshbnmxlc8vphklsvfmhnfss
|
||||||
|
sevend95
|
||||||
|
fbkmpcone555oneightkc
|
||||||
|
5qddnptqdoneonezczvnsl
|
||||||
|
78ttssqjfournddr986
|
||||||
|
three4five
|
||||||
|
jb6
|
||||||
|
ht3hmrbxjsdvrsnlzvsqrj1rlcfggt5
|
||||||
|
5bgxfoursevenrhtcqf2dpkvfmsmh2
|
||||||
|
8rdsljbdggzseven4chgfppzmzkj
|
||||||
|
hfcjpnrzsixfivefour6
|
||||||
|
seveneight5hldmqltxonecbtknbeight6
|
||||||
|
6ninetztvlzdmgj2xzbtk
|
||||||
|
three988twodndrqvqpq
|
||||||
|
4threejkrpgtlhgg6five
|
||||||
|
4kgxgmprssixseven
|
||||||
|
spfpone16
|
||||||
|
xcpqvrthreemrggrvghqcgbqtkknvvk5
|
||||||
|
2three84bxtwo
|
||||||
|
gjmv82mgnqqgnzcgcd
|
||||||
|
3nine4seven
|
||||||
|
9twosnine
|
||||||
|
nxfmfour8bgcgdkvb
|
||||||
|
8three6one
|
||||||
|
bxvxksbbdn3knpdc6stfbxffjggfglc
|
||||||
|
sevenmfpxjgnpb743five6
|
||||||
|
seven7sm
|
||||||
|
8qxbbcxjvppeightwot
|
||||||
|
fivetwotwo1seven8r
|
||||||
|
96eightnrbeight84
|
||||||
|
gljg4fiveone
|
||||||
|
8nine6sevenmllmmchzjxb
|
||||||
|
3twosixdcgl
|
||||||
|
6xsfmfjjnz6vstfvhndhlklrsc73kljcseven
|
||||||
|
threefour1
|
||||||
|
tqtlxckrrch5jone9
|
||||||
|
9qjsntszxb
|
||||||
|
ninetwopqfnsrxrfstwod8one
|
||||||
|
6eight85
|
||||||
|
four63vgjflnctzssfstjx113
|
||||||
|
1vhshftmrbseventhreetwoeight
|
||||||
|
51bntvpdmxfznine5hbt
|
||||||
|
fivebpcntvnklxxseven9
|
||||||
|
2xq
|
||||||
|
vjcbktqbxd55zhdxrhjqnr
|
||||||
|
bxqndkhjg1sixvjct4
|
||||||
|
2two1three
|
||||||
|
kkconeight5eight9
|
||||||
|
gz6two
|
||||||
|
dmctnkrmone7fourdfqcfone3
|
||||||
|
9oneightcb
|
||||||
|
fiveqzjsvjqlsd99kpsixone
|
||||||
|
8fivehfphnvtdf
|
||||||
|
3six8jrrlnpj
|
||||||
|
1six53hpmgsfqfourxmfmdqds
|
||||||
|
eight7ljkrn3cntjv
|
||||||
|
7rkscrcchttwoggxktqdptwodpkcsgpbseven
|
||||||
|
eightthreeseven9threebdlskshg
|
||||||
|
18xpklsg
|
||||||
|
2sevenjlscgksv
|
||||||
|
rmr3784sevenbgqfhklhl
|
||||||
|
dbmtkvthree9mmqzfvmhpthreefivethreetwo
|
||||||
|
566sixeightone6fiveone
|
||||||
|
sixtwokf9
|
||||||
|
lzgsrdmnl2xpps
|
||||||
|
zlbmfmxtvhvng1eight
|
||||||
|
1nine76ninegpc
|
||||||
|
8onesevenxqjqrxflrb1
|
||||||
|
2dhthree6sixthree
|
||||||
|
4eight16
|
||||||
|
2threenvllhnkqthreelhfnbp1gmkcgdf
|
||||||
|
5threeeightthreeeight
|
||||||
|
qjltlxkptr7threezplpxvqgrrn5
|
||||||
|
ftkjg8onedxjcnmrsmf6foursctg5
|
||||||
|
threenks5
|
||||||
|
btseven2dlqjqpsnhxqmvqnjx
|
||||||
|
43four
|
||||||
|
64thknbt3three
|
||||||
|
jgghlcsxl4gtwo9gfdcgxfour
|
||||||
|
mvdkntknjf1stttccdntnrxhhdzgnrzznineseven
|
||||||
|
2nine4nine
|
||||||
|
4s6eight66616
|
||||||
|
r4eightjfldjbqhcpxnhmsmzsjm
|
||||||
|
3smktnsbtjm27cpkzvnjxone
|
||||||
|
hvtccdslkb83xmlpktzbfournlklrqfxone
|
||||||
|
seven5twosix9
|
||||||
|
6dcqcfvcrbs8pxphlrrlvqlmjqfrlfoursixseven
|
||||||
|
qntwofivezcpfknsvq51
|
||||||
|
kdvszdf9tzkbhmthn
|
||||||
|
79dcrnqfrnine
|
||||||
|
dh8hrfvk2nine1fivefourseven
|
||||||
|
rphmhjjnthree1threekbpbjhfk2threeggzjsz
|
||||||
|
fhfive3vcflkznnpfive
|
||||||
|
sp19onesixtwo5
|
||||||
|
eight2ninejc4fivedgffn
|
||||||
|
m5ffive
|
||||||
|
436
|
||||||
|
khpvrkl27twotwo
|
||||||
|
7fnbzfdsqeight5fourone5one
|
||||||
|
eight92nine48fivecnhzhg9
|
||||||
|
83mkhqxtdt
|
||||||
|
fivezvmqbczkgclsxfour3eightthreethree
|
||||||
|
sixsixxlmh6
|
||||||
|
sixfive98
|
||||||
|
fourttlpxqponetwokn8tvkmrk66
|
||||||
|
1chfcvrmxbtwo4
|
||||||
|
sevensix1rlcnmbhs4
|
||||||
|
eightftbfczpt8cgcnnck
|
||||||
|
fourfivessnxfmlzzfiveseven24mfbfx
|
||||||
|
49lqkxcxtjs2jdsbkmrvfninesix56
|
||||||
|
fknjdjqcnm66hrktq
|
||||||
|
1three24four6
|
||||||
|
rpxtwone83
|
||||||
|
5vnntgqnrpjh537ninebbkcs6
|
||||||
|
three5mjmzhht57
|
||||||
|
six4gfqcdbdhx96jvhktthree6
|
||||||
|
sevendbssnxndrdxlbvssrt8dtrgcxxsixonehhstdr
|
||||||
|
1sixfrzgtwo27pf
|
||||||
|
6onevnnptcxhzgonethreetfxlsvxfmbqc
|
||||||
|
gmqnpqsix7three3one5tpklvdfzkbqftkhrj
|
||||||
|
rrslpzr1
|
||||||
|
7ninedsvqtgntjdsqqmhgpjkqxkbpgmkxl
|
||||||
|
sevenxhpjppgxqqz9nxgctwo
|
||||||
|
7onefour
|
||||||
|
one6dsntwo
|
||||||
|
ghlgnsztmtsevenfour1bsctrtmp
|
||||||
|
onehtzmgbpkjcninefive7bmlnvfhsreightthree
|
||||||
|
2822
|
||||||
|
3threerbtmxdngpq12oneeightone
|
||||||
|
threenine7z
|
||||||
|
9bvxxcsnzfive98
|
||||||
|
djctwonefourlxshzxzmff313onesixkzxxhrrfour
|
||||||
|
sevensevengjbfbzmvlhlseven7bgdrreight
|
||||||
|
seven34p5zpmnn
|
||||||
|
r27threeqzx27gspmgncgth
|
||||||
|
threeeighttwoone1jqghpbbl
|
||||||
|
onefqlnr9bmsvjsb2gcl4
|
||||||
|
threeqxjjjtqx4four2mbxfive
|
||||||
|
5one9qnrzfdsixone
|
||||||
|
three184eight
|
||||||
|
2hcnineseven1
|
||||||
|
onejgnvdndtwoqpdxbnzhkg91sevenrfgv
|
||||||
|
hmgseven1fivek866
|
||||||
|
seven4four1zpgc
|
||||||
|
dl8three5
|
||||||
|
7two2
|
||||||
|
hbglb9719
|
||||||
|
1zsgbsmmgprkmgssvnrbv7
|
||||||
|
5sixfourrfbbvmlrjfourl
|
||||||
|
three63sixseven5
|
||||||
|
seven3eightthree318five
|
||||||
|
6brhdvjnz
|
||||||
|
onesevenfivefour5four413
|
||||||
|
two5689seventhree9
|
||||||
|
59nczhdqzdr
|
||||||
|
3vsxmbrfkljfxlkxm1x
|
||||||
|
6nm6k5three47
|
||||||
|
451sixxkcncfqr
|
||||||
|
xsixonevns4seven3vlxpfcttwo
|
||||||
|
kl6onehlrmxgbfourfour8
|
||||||
|
qvfclpxqfivethreeninesixl521
|
||||||
|
33hpkbonepsnfp8nine2
|
||||||
|
three41fivetzzfvmlsfive5two
|
||||||
|
9two6vgvxhnfjone
|
||||||
|
six68five8pbgrvl2six
|
||||||
|
sphsdpxfdtgvmmtwoone8eight
|
||||||
|
z726vlhseven
|
||||||
|
nine9ninesix6xmgbsgfmpgxkzgpzlxqnjsqhr
|
||||||
|
fourknflljrbrq63five
|
||||||
|
42onef6seven
|
||||||
|
39njjvzt7threetkccstz
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
1abc2
|
||||||
|
pqr3stu8vwx
|
||||||
|
a1b2c3d4e5f
|
||||||
|
treb7uchet
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
two1nine
|
||||||
|
eightwothree
|
||||||
|
abcone2threexyz
|
||||||
|
xtwone3four
|
||||||
|
4nineeightseven2
|
||||||
|
zoneight234
|
||||||
|
7pqrstsixteen
|
||||||
+54
@@ -0,0 +1,54 @@
|
|||||||
|
use crate::day_solver::DaySolver;
|
||||||
|
|
||||||
|
use super::util;
|
||||||
|
|
||||||
|
pub struct Day1 {
|
||||||
|
lines: Vec<String>
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Day1 {
|
||||||
|
|
||||||
|
pub fn create() -> Self {
|
||||||
|
let lines = util::read_file("input/day1_example2.txt");
|
||||||
|
// let lines = util::read_file("input/dayX.txt");
|
||||||
|
|
||||||
|
// Put the input into the day struct
|
||||||
|
return Day1 {
|
||||||
|
lines
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve(lines: &Vec<String>) -> u32 {
|
||||||
|
lines.iter()
|
||||||
|
.map(|l| {
|
||||||
|
let nrs: Vec<u8> = l.chars()
|
||||||
|
.filter(|c| c.is_numeric())
|
||||||
|
.map(|c| (c as u8) - ('0' as u8))
|
||||||
|
.collect();
|
||||||
|
u32::from(nrs.first().unwrap().to_owned()) * 10 + u32::from(nrs.last().unwrap().to_owned())
|
||||||
|
}).sum::<u32>()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DaySolver for Day1 {
|
||||||
|
|
||||||
|
|
||||||
|
fn solve_part1(&mut self) -> String {
|
||||||
|
return Self::solve(&self.lines).to_string()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve_part2(&mut self) -> String {
|
||||||
|
return Self::solve(&self.lines.iter().map(
|
||||||
|
|l| l
|
||||||
|
.replace("one", "1")
|
||||||
|
.replace("two", "2")
|
||||||
|
.replace("three", "3")
|
||||||
|
.replace("four", "4")
|
||||||
|
.replace("five", "5")
|
||||||
|
.replace("six", "6")
|
||||||
|
.replace("seven", "7")
|
||||||
|
.replace("eight", "8")
|
||||||
|
.replace("nine", "9")
|
||||||
|
).collect()).to_string()
|
||||||
|
}
|
||||||
|
}
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
use crate::day_solver::DaySolver;
|
||||||
|
|
||||||
|
use super::util;
|
||||||
|
|
||||||
|
pub struct DayX {
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DayX {
|
||||||
|
|
||||||
|
pub fn create() -> Self {
|
||||||
|
let lines = util::read_file("input/dayX_example.txt");
|
||||||
|
// let lines = util::read_file("input/dayX.txt");
|
||||||
|
|
||||||
|
// Put the input into the day struct
|
||||||
|
return DayX {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DaySolver for DayX {
|
||||||
|
|
||||||
|
|
||||||
|
fn solve_part1(&mut self) -> String {
|
||||||
|
return 0.to_string();
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve_part2(&mut self) -> String {
|
||||||
|
return 0.to_string();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
pub trait DaySolver {
|
||||||
|
// fn create() -> Self;
|
||||||
|
fn solve_part1(&mut self) -> String;
|
||||||
|
fn solve_part2(&mut self) -> String;
|
||||||
|
}
|
||||||
+158
@@ -0,0 +1,158 @@
|
|||||||
|
extern crate core;
|
||||||
|
|
||||||
|
use std::time::Instant;
|
||||||
|
use crate::day1::Day1;
|
||||||
|
use crate::day_solver::DaySolver;
|
||||||
|
|
||||||
|
mod util;
|
||||||
|
mod day1;
|
||||||
|
mod day_solver;
|
||||||
|
|
||||||
|
const MAX_DAY: u8 = 1;
|
||||||
|
const DEFAULT_BENCHMARK_AMOUNT: u32 = 100;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
|
||||||
|
let args: Vec<String> = std::env::args().collect();
|
||||||
|
|
||||||
|
let day_arg_idx = args.iter().position(|a| a == "-d");
|
||||||
|
let single_day = day_arg_idx.is_some();
|
||||||
|
let day = if single_day { args[day_arg_idx.unwrap() + 1].parse::<u8>().unwrap() } else { 0 };
|
||||||
|
|
||||||
|
let benchmark_arg_idx_option = args.iter().position(|a| a == "--bench").or(
|
||||||
|
args.iter().position(|a| a == "-b"));
|
||||||
|
|
||||||
|
let benchmark = benchmark_arg_idx_option.is_some();
|
||||||
|
let bench_amount: u32 = if let Some(benchmark_arg_idx) = benchmark_arg_idx_option {
|
||||||
|
args.get(benchmark_arg_idx + 1)
|
||||||
|
.map_or(DEFAULT_BENCHMARK_AMOUNT, |r| r.parse::<u32>().unwrap_or(DEFAULT_BENCHMARK_AMOUNT))
|
||||||
|
} else {
|
||||||
|
DEFAULT_BENCHMARK_AMOUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut bench_results: Vec<AocBenchResult> = Vec::new();
|
||||||
|
|
||||||
|
// This is essentially the warmup for the benchmark:
|
||||||
|
run_once(single_day, day, false, &mut bench_results);
|
||||||
|
let first_run_bench = bench_results[0].to_owned();
|
||||||
|
|
||||||
|
let (_, total_time) = bench(||
|
||||||
|
if benchmark {
|
||||||
|
// Ignore the warmup run in the rest of the benchmark:
|
||||||
|
bench_results.clear();
|
||||||
|
|
||||||
|
for _ in 0..bench_amount {
|
||||||
|
run_once(single_day, day, true, &mut bench_results);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if benchmark {
|
||||||
|
|
||||||
|
println!("Executed {} rounds in {:.3} s ({} μs, or {} μs on average per round)", bench_results.len(), total_time as f64 / 1000000f64, total_time, total_time / bench_amount as u128);
|
||||||
|
print_bench_result(&bench_results, |b| b.total, "Execution");
|
||||||
|
print_bench_result(&bench_results, |b| b.init, "Initialization");
|
||||||
|
print_bench_result(&bench_results, |b| b.part1, "Part 1");
|
||||||
|
print_bench_result(&bench_results, |b| b.part2, "Part 2");
|
||||||
|
print_bench_result(&bench_results, |b| b.part1 + b.part2, "Part 1 & 2 together");
|
||||||
|
|
||||||
|
println!("First time took {} μs (init {} μs, part 1: {} μs, part 2: {} μs)", first_run_bench.total, first_run_bench.init, first_run_bench.part1, first_run_bench.part2);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
println!("Execution took {} μs (init {} μs, part 1: {} μs, part 2: {} μs)", first_run_bench.total, first_run_bench.init, first_run_bench.part1, first_run_bench.part2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
struct AocBenchResult {
|
||||||
|
init: u128,
|
||||||
|
part1: u128,
|
||||||
|
part2: u128,
|
||||||
|
total: u128
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build_day_solver(day: u8) -> Option<Box<dyn DaySolver>> {
|
||||||
|
match day {
|
||||||
|
1 => Some(Box::new(Day1::create())),
|
||||||
|
_ => None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve(day: u8, silent: bool) -> AocBenchResult {
|
||||||
|
|
||||||
|
let now = Instant::now();
|
||||||
|
let (solver, init_time) = bench(|| build_day_solver(day));
|
||||||
|
|
||||||
|
let part1_time: u128;
|
||||||
|
let part2_time: u128;
|
||||||
|
match solver {
|
||||||
|
Some(mut s) => {
|
||||||
|
|
||||||
|
// let(part1, pt1_time) = bench(|| s.solve_part1());
|
||||||
|
// part1_time = pt1_time;
|
||||||
|
//
|
||||||
|
// if !silent {
|
||||||
|
// println!("Day {} Part 1: {}", day, part1);
|
||||||
|
// }
|
||||||
|
part1_time = 0;
|
||||||
|
let (part2, pt2_time) = bench(|| s.solve_part2());
|
||||||
|
part2_time = pt2_time;
|
||||||
|
if !silent {
|
||||||
|
println!("Day {} Part 2: {}", day, part2);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
None => panic!("This day is not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
return AocBenchResult{
|
||||||
|
init: init_time,
|
||||||
|
part1: part1_time,
|
||||||
|
part2: part2_time,
|
||||||
|
total: now.elapsed().as_micros()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fn print_bench_result<F>(bench_results: &Vec<AocBenchResult>, f: F, bench_part_description: &str)
|
||||||
|
where
|
||||||
|
F: FnMut(&AocBenchResult) -> u128 {
|
||||||
|
|
||||||
|
let mut benches: Vec<u128> = bench_results.iter().map(f).collect();
|
||||||
|
benches.sort();
|
||||||
|
let avg_runtime: u128 = benches.iter().sum::<u128>() / (bench_results.len() as u128);
|
||||||
|
|
||||||
|
println!("{} took {} μs {} (Min: {} μs, Max: {} μs, Median: {} μs)", bench_part_description, avg_runtime, if bench_results.len() > 1 { "on average"} else {""},
|
||||||
|
benches[0], benches[benches.len() - 1], benches[benches.len() / 2])
|
||||||
|
}
|
||||||
|
|
||||||
|
fn run_once(single_day: bool, day: u8, silent: bool, bench_results: &mut Vec<AocBenchResult>) {
|
||||||
|
|
||||||
|
|
||||||
|
let bench_result = if single_day {
|
||||||
|
solve(day, silent)
|
||||||
|
} else {
|
||||||
|
solve_all(silent)
|
||||||
|
};
|
||||||
|
bench_results.push(bench_result);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn solve_all(silent: bool) -> AocBenchResult {
|
||||||
|
let mut bench_results = Vec::new();
|
||||||
|
for day in 1..(MAX_DAY + 1) {
|
||||||
|
bench_results.push(solve(day, silent));
|
||||||
|
}
|
||||||
|
return AocBenchResult {
|
||||||
|
init: bench_results.iter().map(|t| t.init).sum(),
|
||||||
|
part1: bench_results.iter().map(|t| t.part1).sum(),
|
||||||
|
part2: bench_results.iter().map(|t| t.part2).sum(),
|
||||||
|
total: bench_results.iter().map(|t| t.total).sum(),
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn bench<F, K>(mut f: F) -> (K, u128)
|
||||||
|
where F: FnMut() -> K {
|
||||||
|
let now = Instant::now();
|
||||||
|
let res = f();
|
||||||
|
(res, now.elapsed().as_micros())
|
||||||
|
}
|
||||||
+103
@@ -0,0 +1,103 @@
|
|||||||
|
use std::fs;
|
||||||
|
use std::fmt::Display;
|
||||||
|
|
||||||
|
use num::Integer;
|
||||||
|
|
||||||
|
pub fn read_file(filename: &str) -> Vec<String> {
|
||||||
|
|
||||||
|
let contents = fs::read_to_string(filename)
|
||||||
|
.expect("Couldn't read file!");
|
||||||
|
|
||||||
|
let mut res: Vec<String> = Vec::new();
|
||||||
|
contents.lines().for_each(|l| res.push(String::from(l)));
|
||||||
|
|
||||||
|
res
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct Grid<T> {
|
||||||
|
pub(crate) width: usize,
|
||||||
|
pub(crate) data: Vec<T>
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Clone + Sized> Grid<T> {
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub fn set_row(&mut self, y: usize, v: T) {
|
||||||
|
// let range = &mut self.data[x * self.width..(x+1) * self.width];
|
||||||
|
for i in self.width * y..self.width * (y + 1) {
|
||||||
|
self.data[i] = v.to_owned();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub fn set_col(&mut self, x: usize, v: T) {
|
||||||
|
for y in 0..self.height() {
|
||||||
|
let idx = self.idx(&x, &y);
|
||||||
|
self.data[idx] = v.to_owned();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn idx(&self, x: &usize, y: &usize) -> usize {
|
||||||
|
y * self.width + x
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn height(&self) -> usize {
|
||||||
|
self.data.len() / self.width
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn get(&self, x: &usize, y: &usize) -> &T {
|
||||||
|
let idx = self.idx(x, y);
|
||||||
|
&self.data[idx]
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set(&mut self, x: &usize, y: &usize, v: T) {
|
||||||
|
let idx = self.idx(x, y);
|
||||||
|
self.data[idx] = v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl <T: Display + Clone + Sized> Grid<T> {
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub fn print(&self) {
|
||||||
|
|
||||||
|
self.print_range(0, self.width, 0, self.height());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub fn print_range(&self, from_x: usize, to_x: usize, from_y: usize, to_y: usize) {
|
||||||
|
|
||||||
|
for y in from_y.max(0)..to_y.min(self.height()) {
|
||||||
|
for x in from_x.max(0)..to_x.min(self.width) {
|
||||||
|
print!("{}", self.get(&x, &y))
|
||||||
|
}
|
||||||
|
println!();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
|
pub struct Coord<T> where T: Sized {
|
||||||
|
pub x: T,
|
||||||
|
pub y: T
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
impl<T> Coord<T> where T: Sized {
|
||||||
|
pub(crate) fn new(x: T, y: T) -> Self {
|
||||||
|
Coord { x, y }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
impl <T> Coord<T> where T: Integer + Copy {
|
||||||
|
pub fn manhattan_dist(&self, other: &Coord<T>) -> T {
|
||||||
|
self.x.max(other.x).sub(self.x.min(other.x)) + self.y.max(other.y).sub(self.y.min(other.y))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in new issue
Block a user