Completed: 1, 2, 3, 4, 5.1, 6.1, 7, 8
This commit is contained in:
parent
6344e9a504
commit
01116b01fe
44 changed files with 6587 additions and 0 deletions
92
day_08/Cargo.lock
generated
Normal file
92
day_08/Cargo.lock
generated
Normal file
|
@ -0,0 +1,92 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "day_08"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"num",
|
||||
]
|
||||
|
||||
[[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",
|
||||
]
|
9
day_08/Cargo.toml
Normal file
9
day_08/Cargo.toml
Normal file
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "day_08"
|
||||
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.1"
|
760
day_08/input.txt
Normal file
760
day_08/input.txt
Normal file
|
@ -0,0 +1,760 @@
|
|||
LLRLRLRRRLRLRRRLRRRLRRLLRLLRRRLRLRRLLRLRLRRLRLRLLRLRRRLRLRRLRRLRRRLRRLRRLRRLLRRLLRRRLRRLRRLRRRLRLRRLRRLLLLRLRRLRLRRLLLRRLRRRLRRRLLRRRLRRRLRRLRRRLLLRRRLLLRRLRRLRRRLRRLRRRLRRLRRRLLRLRLRRRLRRLRLRLRRRLRLRLLLRRRLRRRLRRLRRLRLRRRLRRRLLRRRLRRLRLLLRRLLRRRLRRRLRRRLLRRRLLRRLRLRRRLRRLRRRR
|
||||
|
||||
AAA = (DFD, PLS)
|
||||
BCG = (RNT, VJR)
|
||||
BCN = (HFN, KFC)
|
||||
BCR = (LKR, VQN)
|
||||
BDS = (CXG, HXR)
|
||||
BFF = (DXV, NMR)
|
||||
BFS = (CHN, SFK)
|
||||
BFX = (FPR, SNC)
|
||||
BGC = (TRV, SJN)
|
||||
BGN = (JJB, SMG)
|
||||
BHC = (LMP, RML)
|
||||
BHG = (BMN, HPH)
|
||||
BHL = (PMP, PNV)
|
||||
BJJ = (FLT, FRM)
|
||||
BJT = (SNV, MMS)
|
||||
BJV = (LQM, QMJ)
|
||||
BKM = (CDC, PSH)
|
||||
BKR = (HBR, KSQ)
|
||||
BLG = (GMR, VTL)
|
||||
BLN = (TSB, SHS)
|
||||
BMG = (NDL, RKP)
|
||||
BMN = (MPG, QMC)
|
||||
BNB = (DNG, NCQ)
|
||||
BPF = (PRG, QLS)
|
||||
BQL = (XFB, CXJ)
|
||||
BQR = (PPL, PHJ)
|
||||
BQV = (RGS, FGG)
|
||||
BRK = (DXJ, CNQ)
|
||||
BRQ = (TDC, SDB)
|
||||
BRS = (RDL, SRC)
|
||||
BRX = (CXK, XGH)
|
||||
BSG = (JQH, FBV)
|
||||
BSP = (NBX, RSM)
|
||||
BTD = (MLK, CRF)
|
||||
BTG = (LVS, FNX)
|
||||
BTH = (CRG, PNF)
|
||||
BVB = (QSF, LQC)
|
||||
BVN = (PXM, QVF)
|
||||
BXG = (NMR, DXV)
|
||||
CBJ = (LNH, LJD)
|
||||
CBS = (RPQ, GSM)
|
||||
CCB = (XSL, RSX)
|
||||
CCL = (BNB, FSJ)
|
||||
CDB = (BQV, NHX)
|
||||
CDC = (TSK, TBQ)
|
||||
CDL = (GRF, QFT)
|
||||
CDR = (MRL, TBF)
|
||||
CFH = (TBN, TJV)
|
||||
CFQ = (XBD, NNB)
|
||||
CGB = (NLF, TCF)
|
||||
CGR = (CDC, PSH)
|
||||
CGS = (CQJ, HQN)
|
||||
CHG = (NDL, RKP)
|
||||
CHM = (NXR, NXR)
|
||||
CHN = (BPF, QPF)
|
||||
CJB = (VRT, QNM)
|
||||
CJK = (PMM, JGL)
|
||||
CKT = (FVB, JQM)
|
||||
CKV = (GND, NSV)
|
||||
CLB = (MTK, LCF)
|
||||
CLC = (DVN, DVR)
|
||||
CMJ = (XLD, QVQ)
|
||||
CMR = (LQR, RLS)
|
||||
CMT = (JHM, KNX)
|
||||
CNQ = (FRL, BVB)
|
||||
CQJ = (PGL, KVX)
|
||||
CRF = (DRH, BRS)
|
||||
CRG = (GNG, FNV)
|
||||
CRR = (BQR, XTD)
|
||||
CRT = (MJG, MJG)
|
||||
CSD = (GBR, TMH)
|
||||
CSR = (RPP, HKT)
|
||||
CTR = (TMH, GBR)
|
||||
CTX = (RQX, SFN)
|
||||
CVC = (XBD, NNB)
|
||||
CVN = (TLM, PHH)
|
||||
CXG = (VPN, DHJ)
|
||||
CXJ = (KGL, BRQ)
|
||||
CXK = (GKD, DPT)
|
||||
CXS = (PLN, GXP)
|
||||
DBF = (LST, SRX)
|
||||
DBG = (MLN, NLT)
|
||||
DBV = (SRX, LST)
|
||||
DCH = (NFK, JNS)
|
||||
DDJ = (FKH, NHM)
|
||||
DDV = (SXC, FMN)
|
||||
DFD = (MVH, KGP)
|
||||
DGF = (BDS, SFH)
|
||||
DGR = (HJH, KNH)
|
||||
DHJ = (LMR, RXQ)
|
||||
DHQ = (SSQ, LCX)
|
||||
DHR = (RSK, JRV)
|
||||
DHX = (PTX, LVF)
|
||||
DJK = (CFQ, CVC)
|
||||
DLG = (BCG, VVJ)
|
||||
DNG = (KDS, HCS)
|
||||
DPF = (MDX, KRB)
|
||||
DPT = (HHH, FLR)
|
||||
DQK = (GPM, JFX)
|
||||
DQX = (CRT, VVH)
|
||||
DRH = (RDL, SRC)
|
||||
DRL = (GLS, RTV)
|
||||
DRV = (XRC, NXM)
|
||||
DSL = (CLB, PGG)
|
||||
DSN = (VMF, PBB)
|
||||
DSR = (TSB, SHS)
|
||||
DTA = (LBP, RFH)
|
||||
DVC = (SHX, DPF)
|
||||
DVD = (CDR, HCL)
|
||||
DVN = (GBJ, NQB)
|
||||
DVR = (GBJ, NQB)
|
||||
DXJ = (FRL, BVB)
|
||||
DXN = (SRM, GKL)
|
||||
DXP = (JMD, VSV)
|
||||
DXV = (MJS, PQF)
|
||||
FBH = (MNR, NCT)
|
||||
FBV = (RLT, BHL)
|
||||
FFK = (QXF, NRK)
|
||||
FGG = (JKJ, LDT)
|
||||
FGK = (SKH, DQX)
|
||||
FHF = (RTX, MBK)
|
||||
FHH = (CHM, CHM)
|
||||
FHQ = (RPP, HKT)
|
||||
FKG = (LFV, GBH)
|
||||
FKH = (SKD, FTG)
|
||||
FLM = (MHX, DHR)
|
||||
FLR = (SXK, XMK)
|
||||
FLT = (SCD, SCD)
|
||||
FLV = (SPJ, RBF)
|
||||
FMN = (QRX, CTX)
|
||||
FMP = (BSP, TBR)
|
||||
FMQ = (VVN, MLH)
|
||||
FNV = (CSR, FHQ)
|
||||
FNX = (SJL, VDH)
|
||||
FNZ = (GCG, SHR)
|
||||
FPQ = (XRV, DQK)
|
||||
FPR = (KNN, MCH)
|
||||
FQB = (DDJ, KDJ)
|
||||
FQX = (TRX, LSD)
|
||||
FQZ = (RFH, LBP)
|
||||
FRL = (QSF, LQC)
|
||||
FRM = (SCD, TBZ)
|
||||
FRR = (FQX, XHP)
|
||||
FRV = (KVC, LHQ)
|
||||
FSJ = (DNG, NCQ)
|
||||
FSL = (GDL, SXG)
|
||||
FTG = (MBN, HTR)
|
||||
FTV = (HTS, KSN)
|
||||
FVB = (KXQ, VTF)
|
||||
FVT = (GRF, QFT)
|
||||
FXC = (CCL, RTM)
|
||||
GBH = (HJM, QBF)
|
||||
GBJ = (VRK, TXJ)
|
||||
GBR = (RCJ, RFR)
|
||||
GCD = (GCH, LDX)
|
||||
GCG = (GQQ, KFS)
|
||||
GCH = (DGR, KXL)
|
||||
GCL = (RKV, TFH)
|
||||
GCR = (QST, RRL)
|
||||
GDL = (NDN, RSF)
|
||||
GFF = (BGN, PGP)
|
||||
GFT = (QTJ, GCD)
|
||||
GJF = (CXS, GLG)
|
||||
GJS = (QJH, RHM)
|
||||
GKD = (HHH, FLR)
|
||||
GKL = (LFG, RBV)
|
||||
GKX = (HSC, GTX)
|
||||
GLG = (GXP, PLN)
|
||||
GLS = (DVC, XRR)
|
||||
GMB = (KQR, QGS)
|
||||
GMG = (KGG, SRQ)
|
||||
GMH = (MLH, VVN)
|
||||
GMR = (KMS, KLC)
|
||||
GND = (LDN, TJC)
|
||||
GNG = (CSR, FHQ)
|
||||
GNN = (LMP, RML)
|
||||
GNQ = (DBF, DBV)
|
||||
GPD = (GTV, BFX)
|
||||
GPM = (VJC, KPQ)
|
||||
GQF = (BJV, VTR)
|
||||
GQJ = (PQD, RGT)
|
||||
GQQ = (GFF, THH)
|
||||
GRF = (HQJ, XQJ)
|
||||
GRH = (LVS, FNX)
|
||||
GRN = (LVL, MQV)
|
||||
GRS = (LSM, LSM)
|
||||
GSK = (LTT, CFH)
|
||||
GSM = (TXH, CJK)
|
||||
GSQ = (NLF, TCF)
|
||||
GTV = (FPR, SNC)
|
||||
GTX = (TKX, GFT)
|
||||
GXM = (PBM, FRR)
|
||||
GXP = (QHS, PCV)
|
||||
GXT = (XDK, PKP)
|
||||
HBR = (RXP, DBG)
|
||||
HBS = (DSR, BLN)
|
||||
HCB = (CRR, PXN)
|
||||
HCD = (LFV, GBH)
|
||||
HCL = (TBF, MRL)
|
||||
HCP = (RHM, QJH)
|
||||
HCS = (CMT, XQP)
|
||||
HDD = (FMQ, GMH)
|
||||
HDX = (NMD, BLG)
|
||||
HFN = (VHM, QMD)
|
||||
HGB = (GTX, HSC)
|
||||
HGG = (XKN, JHQ)
|
||||
HHH = (SXK, XMK)
|
||||
HHM = (BSG, SQH)
|
||||
HJH = (JVM, JPH)
|
||||
HJK = (QCS, XRH)
|
||||
HJM = (PKJ, HDD)
|
||||
HKD = (BLG, NMD)
|
||||
HKT = (LRL, XQM)
|
||||
HKX = (GCR, KBD)
|
||||
HLD = (FHH, NFJ)
|
||||
HMJ = (JHD, TVM)
|
||||
HMM = (RDS, DSN)
|
||||
HNL = (LSR, JSJ)
|
||||
HPC = (GRS, QNF)
|
||||
HPH = (MPG, QMC)
|
||||
HPN = (VTB, RJC)
|
||||
HQJ = (MMM, PQM)
|
||||
HQN = (PGL, KVX)
|
||||
HRD = (GDL, SXG)
|
||||
HSC = (GFT, TKX)
|
||||
HSR = (XPD, FFK)
|
||||
HTG = (MDR, DRL)
|
||||
HTL = (HDX, HKD)
|
||||
HTR = (GNN, BHC)
|
||||
HTS = (XMP, XMP)
|
||||
HVD = (KSQ, HBR)
|
||||
HVP = (JPG, PDL)
|
||||
HVX = (NRQ, RDT)
|
||||
HXM = (HTS, KSN)
|
||||
HXR = (VPN, DHJ)
|
||||
JCV = (SVP, HBS)
|
||||
JDR = (SPT, NDR)
|
||||
JFC = (XGT, FQZ)
|
||||
JFL = (TBR, BSP)
|
||||
JFX = (VJC, KPQ)
|
||||
JGJ = (RNC, RPK)
|
||||
JGL = (TMF, PVQ)
|
||||
JGS = (CCL, RTM)
|
||||
JHA = (FMP, JFL)
|
||||
JHD = (MJB, QJJ)
|
||||
JHM = (CDL, FVT)
|
||||
JHQ = (LPL, MPR)
|
||||
JJB = (DCH, TVS)
|
||||
JKJ = (LXP, XBB)
|
||||
JKK = (DVN, DVR)
|
||||
JMB = (PKD, HLD)
|
||||
JMD = (DRV, XMM)
|
||||
JMR = (TQP, SDD)
|
||||
JND = (SJH, XJH)
|
||||
JNS = (KTL, HSR)
|
||||
JPG = (KLN, QLT)
|
||||
JPH = (KVS, NGP)
|
||||
JQC = (NHP, HGG)
|
||||
JQH = (BHL, RLT)
|
||||
JQK = (RPK, RNC)
|
||||
JQM = (VTF, KXQ)
|
||||
JRV = (CVN, VHV)
|
||||
JSJ = (KLT, CMJ)
|
||||
JTH = (NCG, VGR)
|
||||
JVM = (NGP, KVS)
|
||||
JVT = (MMS, SNV)
|
||||
JXR = (FLV, KJC)
|
||||
KBD = (RRL, QST)
|
||||
KBF = (CGB, GSQ)
|
||||
KCM = (JMD, VSV)
|
||||
KCR = (BRX, MMG)
|
||||
KCX = (PGG, CLB)
|
||||
KDJ = (FKH, NHM)
|
||||
KDS = (CMT, XQP)
|
||||
KFC = (QMD, VHM)
|
||||
KFK = (QJT, SBC)
|
||||
KFS = (GFF, THH)
|
||||
KGG = (HXM, FTV)
|
||||
KGL = (SDB, TDC)
|
||||
KGP = (XRJ, VKM)
|
||||
KHH = (BFS, LVD)
|
||||
KHR = (CBJ, QHN)
|
||||
KHT = (PQD, RGT)
|
||||
KJB = (FXC, JGS)
|
||||
KJC = (SPJ, RBF)
|
||||
KJH = (RVM, FQB)
|
||||
KJT = (DVD, QVP)
|
||||
KKG = (MNJ, QLB)
|
||||
KLC = (RSN, GSK)
|
||||
KLN = (PFX, NLS)
|
||||
KLT = (XLD, QVQ)
|
||||
KMS = (RSN, GSK)
|
||||
KMT = (MBK, RTX)
|
||||
KNH = (JVM, JPH)
|
||||
KNN = (BCN, LSJ)
|
||||
KNX = (CDL, FVT)
|
||||
KPQ = (JTH, NXF)
|
||||
KQR = (HRD, FSL)
|
||||
KRB = (XDF, GPD)
|
||||
KRH = (CRF, MLK)
|
||||
KRJ = (NHX, BQV)
|
||||
KSN = (XMP, XGB)
|
||||
KSQ = (DBG, RXP)
|
||||
KSX = (GKL, SRM)
|
||||
KTL = (XPD, FFK)
|
||||
KVC = (NGT, XPR)
|
||||
KVN = (BHG, SHM)
|
||||
KVS = (PTJ, PLH)
|
||||
KVX = (VLR, MCG)
|
||||
KXD = (RSV, FBH)
|
||||
KXG = (LVN, KHR)
|
||||
KXK = (QGS, KQR)
|
||||
KXL = (KNH, HJH)
|
||||
KXQ = (MQK, KJH)
|
||||
LBD = (HCD, FKG)
|
||||
LBH = (DLG, LKT)
|
||||
LBP = (MKR, HVP)
|
||||
LCF = (NMK, KCR)
|
||||
LCX = (FRV, QDZ)
|
||||
LDN = (LMS, HHM)
|
||||
LDT = (LXP, XBB)
|
||||
LDX = (DGR, KXL)
|
||||
LFB = (JDR, PKB)
|
||||
LFG = (CTR, CSD)
|
||||
LFL = (KJB, QPB)
|
||||
LFV = (QBF, HJM)
|
||||
LHB = (TQP, SDD)
|
||||
LHC = (DXP, KCM)
|
||||
LHQ = (XPR, NGT)
|
||||
LHS = (PCG, MQC)
|
||||
LJD = (QJM, TRC)
|
||||
LKB = (PNF, CRG)
|
||||
LKR = (MBR, TLD)
|
||||
LKT = (VVJ, BCG)
|
||||
LLP = (XHV, PRT)
|
||||
LMP = (VND, RCH)
|
||||
LMR = (GXT, QSL)
|
||||
LMS = (BSG, SQH)
|
||||
LNH = (TRC, QJM)
|
||||
LNM = (FRR, PBM)
|
||||
LPL = (XNM, GNQ)
|
||||
LPQ = (LKR, VQN)
|
||||
LQB = (VJP, VXV)
|
||||
LQC = (RPC, CBS)
|
||||
LQM = (TSS, GMG)
|
||||
LQR = (RLN, NVC)
|
||||
LQZ = (FMN, SXC)
|
||||
LRL = (TGR, XQQ)
|
||||
LSD = (SFF, NFM)
|
||||
LSJ = (HFN, KFC)
|
||||
LSM = (DFD, PLS)
|
||||
LSR = (KLT, CMJ)
|
||||
LST = (RDH, MJT)
|
||||
LTT = (TJV, TBN)
|
||||
LVD = (CHN, SFK)
|
||||
LVF = (RVN, KXD)
|
||||
LVL = (DDV, DDV)
|
||||
LVN = (CBJ, QHN)
|
||||
LVS = (VDH, SJL)
|
||||
LXP = (VGM, TKG)
|
||||
MBK = (VML, VBC)
|
||||
MBN = (GNN, BHC)
|
||||
MBR = (VHQ, NLL)
|
||||
MBT = (QBQ, RNG)
|
||||
MCG = (MFR, MBT)
|
||||
MCH = (LSJ, BCN)
|
||||
MDR = (GLS, RTV)
|
||||
MDX = (GPD, XDF)
|
||||
MFR = (QBQ, RNG)
|
||||
MHN = (XSL, RSX)
|
||||
MHX = (RSK, JRV)
|
||||
MJB = (LLP, QSV)
|
||||
MJG = (LVL, LVL)
|
||||
MJR = (DQK, XRV)
|
||||
MJS = (VTD, HNL)
|
||||
MJT = (SVN, HPN)
|
||||
MKP = (QCS, XRH)
|
||||
MKR = (PDL, JPG)
|
||||
MLH = (MRQ, XKF)
|
||||
MLK = (BRS, DRH)
|
||||
MLN = (NDD, HVX)
|
||||
MMA = (KVC, LHQ)
|
||||
MMD = (TLN, KHH)
|
||||
MMG = (XGH, CXK)
|
||||
MMM = (SSX, SSX)
|
||||
MMS = (JQC, PXQ)
|
||||
MNJ = (FGK, PQV)
|
||||
MNQ = (KFK, XJX)
|
||||
MNR = (LKB, BTH)
|
||||
MPG = (HVD, BKR)
|
||||
MPR = (XNM, GNQ)
|
||||
MQC = (RFV, XFQ)
|
||||
MQK = (RVM, FQB)
|
||||
MQT = (HBS, SVP)
|
||||
MQV = (DDV, LQZ)
|
||||
MRL = (LQB, RXN)
|
||||
MRQ = (DHX, QHV)
|
||||
MTK = (NMK, KCR)
|
||||
MVH = (XRJ, VKM)
|
||||
MXJ = (DXJ, CNQ)
|
||||
MXM = (TCN, HKX)
|
||||
MXP = (SHM, BHG)
|
||||
NBX = (JGJ, JQK)
|
||||
NCA = (SXC, FMN)
|
||||
NCD = (GQJ, KHT)
|
||||
NCG = (BRK, MXJ)
|
||||
NCQ = (HCS, KDS)
|
||||
NCT = (BTH, LKB)
|
||||
NDD = (NRQ, RDT)
|
||||
NDL = (SDF, RLB)
|
||||
NDN = (TFR, QGN)
|
||||
NDR = (MKP, HJK)
|
||||
NFJ = (CHM, NTV)
|
||||
NFK = (HSR, KTL)
|
||||
NFM = (RGC, HMM)
|
||||
NGP = (PTJ, PLH)
|
||||
NGT = (KMT, FHF)
|
||||
NHM = (FTG, SKD)
|
||||
NHP = (XKN, JHQ)
|
||||
NHX = (FGG, RGS)
|
||||
NKH = (XMS, STV)
|
||||
NLF = (BKM, CGR)
|
||||
NLL = (JKK, CLC)
|
||||
NLS = (BTD, KRH)
|
||||
NLT = (HVX, NDD)
|
||||
NMD = (VTL, GMR)
|
||||
NMK = (MMG, BRX)
|
||||
NML = (DXP, KCM)
|
||||
NMR = (MJS, PQF)
|
||||
NNB = (GRH, BTG)
|
||||
NQB = (TXJ, VRK)
|
||||
NQH = (JDR, PKB)
|
||||
NQT = (GND, NSV)
|
||||
NRK = (DGF, XFL)
|
||||
NRQ = (PGT, LHS)
|
||||
NSF = (QCT, QCT)
|
||||
NSV = (TJC, LDN)
|
||||
NTV = (NXR, JFC)
|
||||
NVC = (CDB, KRJ)
|
||||
NVL = (LVN, KHR)
|
||||
NXF = (VGR, NCG)
|
||||
NXM = (KXK, GMB)
|
||||
NXR = (XGT, XGT)
|
||||
PBB = (NQT, CKV)
|
||||
PBM = (XHP, FQX)
|
||||
PCG = (RFV, XFQ)
|
||||
PCV = (QTC, HTL)
|
||||
PCX = (JND, VRX)
|
||||
PDL = (QLT, KLN)
|
||||
PFX = (KRH, BTD)
|
||||
PGG = (LCF, MTK)
|
||||
PGL = (VLR, MCG)
|
||||
PGP = (SMG, JJB)
|
||||
PGR = (LBH, SRF)
|
||||
PGT = (MQC, PCG)
|
||||
PHH = (NVL, KXG)
|
||||
PHJ = (VCG, VNT)
|
||||
PJM = (GJS, HCP)
|
||||
PKB = (SPT, NDR)
|
||||
PKD = (FHH, NFJ)
|
||||
PKJ = (GMH, FMQ)
|
||||
PKP = (SXS, MNQ)
|
||||
PLH = (JVT, BJT)
|
||||
PLN = (QHS, PCV)
|
||||
PLS = (MVH, KGP)
|
||||
PMM = (PVQ, TMF)
|
||||
PMP = (LFL, SLN)
|
||||
PNF = (GNG, FNV)
|
||||
PNQ = (CVC, CFQ)
|
||||
PNV = (LFL, SLN)
|
||||
PPL = (VCG, VNT)
|
||||
PQD = (MJR, FPQ)
|
||||
PQF = (VTD, HNL)
|
||||
PQM = (SSX, DHQ)
|
||||
PQV = (SKH, DQX)
|
||||
PRD = (FVB, JQM)
|
||||
PRG = (THM, KKG)
|
||||
PRT = (BVN, SHD)
|
||||
PSH = (TSK, TBQ)
|
||||
PTF = (VRX, JND)
|
||||
PTJ = (BJT, JVT)
|
||||
PTX = (RVN, KXD)
|
||||
PVQ = (TFG, JMB)
|
||||
PXM = (JMR, LHB)
|
||||
PXN = (XTD, BQR)
|
||||
PXQ = (NHP, HGG)
|
||||
QBF = (HDD, PKJ)
|
||||
QBQ = (RPH, XSF)
|
||||
QBR = (STV, XMS)
|
||||
QCC = (RMK, QGL)
|
||||
QCS = (LHC, NML)
|
||||
QCT = (SHR, GCG)
|
||||
QDH = (RMK, QGL)
|
||||
QDZ = (LHQ, KVC)
|
||||
QFH = (SJN, TRV)
|
||||
QFT = (HQJ, XQJ)
|
||||
QGL = (BQL, SKL)
|
||||
QGN = (SRG, HPC)
|
||||
QGS = (FSL, HRD)
|
||||
QHN = (LNH, LJD)
|
||||
QHP = (RBP, RMS)
|
||||
QHS = (HTL, QTC)
|
||||
QHV = (LVF, PTX)
|
||||
QJH = (PTF, PCX)
|
||||
QJJ = (QSV, LLP)
|
||||
QJM = (QSP, CJB)
|
||||
QJT = (CGS, VLK)
|
||||
QLB = (PQV, FGK)
|
||||
QLS = (KKG, THM)
|
||||
QLT = (NLS, PFX)
|
||||
QMC = (BKR, HVD)
|
||||
QMD = (TGL, TSJ)
|
||||
QMJ = (GMG, TSS)
|
||||
QNF = (LSM, ZZZ)
|
||||
QNM = (TDB, RFQ)
|
||||
QPB = (FXC, JGS)
|
||||
QPF = (QLS, PRG)
|
||||
QRX = (SFN, RQX)
|
||||
QSF = (CBS, RPC)
|
||||
QSL = (XDK, PKP)
|
||||
QSP = (QNM, VRT)
|
||||
QST = (MMD, RMN)
|
||||
QSV = (XHV, PRT)
|
||||
QTC = (HKD, HDX)
|
||||
QTJ = (LDX, GCH)
|
||||
QVF = (LHB, JMR)
|
||||
QVP = (CDR, HCL)
|
||||
QVQ = (KJT, TDM)
|
||||
QXF = (XFL, DGF)
|
||||
RBF = (LFB, NQH)
|
||||
RBP = (LBD, TDQ)
|
||||
RBV = (CSD, CTR)
|
||||
RCD = (GSQ, CGB)
|
||||
RCH = (RPD, SFX)
|
||||
RCJ = (RXK, RHL)
|
||||
RDH = (HPN, SVN)
|
||||
RDL = (PGR, TPK)
|
||||
RDR = (DHR, MHX)
|
||||
RDS = (PBB, VMF)
|
||||
RDT = (PGT, LHS)
|
||||
RFH = (MKR, HVP)
|
||||
RFQ = (KCX, DSL)
|
||||
RFR = (RHL, RXK)
|
||||
RFV = (RMQ, NCD)
|
||||
RGC = (RDS, DSN)
|
||||
RGS = (JKJ, LDT)
|
||||
RGT = (MJR, FPQ)
|
||||
RHL = (XJK, RJF)
|
||||
RHM = (PCX, PTF)
|
||||
RJC = (PNQ, DJK)
|
||||
RJF = (BXG, BFF)
|
||||
RKP = (RLB, SDF)
|
||||
RKV = (GQF, VKF)
|
||||
RLB = (NKH, QBR)
|
||||
RLN = (KRJ, CDB)
|
||||
RLQ = (RMS, RBP)
|
||||
RLS = (RLN, NVC)
|
||||
RLT = (PMP, PNV)
|
||||
RMK = (BQL, SKL)
|
||||
RML = (RCH, VND)
|
||||
RMN = (TLN, KHH)
|
||||
RMQ = (GQJ, KHT)
|
||||
RMS = (LBD, TDQ)
|
||||
RNC = (CMR, SQR)
|
||||
RNG = (XSF, RPH)
|
||||
RNT = (BGC, QFH)
|
||||
RPC = (RPQ, GSM)
|
||||
RPD = (HCB, VLG)
|
||||
RPH = (QHP, RLQ)
|
||||
RPK = (CMR, SQR)
|
||||
RPP = (LRL, XQM)
|
||||
RPQ = (CJK, TXH)
|
||||
RQB = (GLG, CXS)
|
||||
RQX = (KSX, DXN)
|
||||
RRL = (RMN, MMD)
|
||||
RSF = (TFR, QGN)
|
||||
RSK = (VHV, CVN)
|
||||
RSM = (JGJ, JQK)
|
||||
RSN = (CFH, LTT)
|
||||
RSV = (MNR, NCT)
|
||||
RSX = (BCR, LPQ)
|
||||
RTM = (FSJ, BNB)
|
||||
RTV = (DVC, XRR)
|
||||
RTX = (VBC, VML)
|
||||
RVM = (KDJ, DDJ)
|
||||
RVN = (FBH, RSV)
|
||||
RXK = (RJF, XJK)
|
||||
RXN = (VJP, VXV)
|
||||
RXP = (MLN, NLT)
|
||||
RXQ = (QSL, GXT)
|
||||
SBC = (CGS, VLK)
|
||||
SBD = (VBQ, VBQ)
|
||||
SCD = (FMP, JFL)
|
||||
SDB = (LNM, GXM)
|
||||
SDD = (SBD, SHT)
|
||||
SDF = (NKH, QBR)
|
||||
SFF = (RGC, HMM)
|
||||
SFH = (HXR, CXG)
|
||||
SFK = (QPF, BPF)
|
||||
SFN = (DXN, KSX)
|
||||
SFT = (FLV, KJC)
|
||||
SFX = (VLG, HCB)
|
||||
SHD = (QVF, PXM)
|
||||
SHM = (HPH, BMN)
|
||||
SHR = (GQQ, KFS)
|
||||
SHS = (CKT, PRD)
|
||||
SHT = (VBQ, BJJ)
|
||||
SHX = (KRB, MDX)
|
||||
SJH = (GCL, XKM)
|
||||
SJL = (QDH, QCC)
|
||||
SJN = (MXP, KVN)
|
||||
SKD = (HTR, MBN)
|
||||
SKH = (CRT, VVH)
|
||||
SKL = (CXJ, XFB)
|
||||
SLN = (QPB, KJB)
|
||||
SMG = (TVS, DCH)
|
||||
SNC = (KNN, MCH)
|
||||
SNV = (PXQ, JQC)
|
||||
SPJ = (LFB, NQH)
|
||||
SPT = (HJK, MKP)
|
||||
SQH = (JQH, FBV)
|
||||
SQR = (LQR, RLS)
|
||||
SRC = (TPK, PGR)
|
||||
SRF = (DLG, LKT)
|
||||
SRG = (GRS, GRS)
|
||||
SRM = (LFG, RBV)
|
||||
SRQ = (HXM, FTV)
|
||||
SRX = (MJT, RDH)
|
||||
SSQ = (FRV, FRV)
|
||||
SSX = (SSQ, SSQ)
|
||||
STV = (MXM, XCX)
|
||||
SVN = (RJC, VTB)
|
||||
SVP = (DSR, BLN)
|
||||
SXC = (QRX, CTX)
|
||||
SXG = (NDN, RSF)
|
||||
SXK = (SFT, JXR)
|
||||
SXS = (XJX, KFK)
|
||||
TBF = (RXN, LQB)
|
||||
TBN = (RDR, FLM)
|
||||
TBQ = (MHN, CCB)
|
||||
TBR = (RSM, NBX)
|
||||
TBZ = (JFL, FMP)
|
||||
TCF = (BKM, CGR)
|
||||
TCN = (GCR, KBD)
|
||||
TDB = (KCX, DSL)
|
||||
TDC = (GXM, LNM)
|
||||
TDM = (QVP, DVD)
|
||||
TDQ = (FKG, HCD)
|
||||
TFG = (PKD, HLD)
|
||||
TFH = (GQF, VKF)
|
||||
TFR = (SRG, SRG)
|
||||
TGL = (KBF, RCD)
|
||||
TGR = (PJM, TQV)
|
||||
THH = (BGN, PGP)
|
||||
THM = (MNJ, QLB)
|
||||
TJC = (LMS, HHM)
|
||||
TJJ = (QCT, FNZ)
|
||||
TJV = (RDR, FLM)
|
||||
TKG = (JCV, MQT)
|
||||
TKP = (JHD, TVM)
|
||||
TKX = (GCD, QTJ)
|
||||
TLD = (NLL, VHQ)
|
||||
TLM = (NVL, KXG)
|
||||
TLN = (LVD, BFS)
|
||||
TMF = (TFG, JMB)
|
||||
TMH = (RFR, RCJ)
|
||||
TPK = (LBH, SRF)
|
||||
TQP = (SBD, SHT)
|
||||
TQV = (HCP, GJS)
|
||||
TRC = (QSP, CJB)
|
||||
TRV = (KVN, MXP)
|
||||
TRX = (NFM, SFF)
|
||||
TSB = (CKT, PRD)
|
||||
TSJ = (RCD, KBF)
|
||||
TSK = (CCB, MHN)
|
||||
TSS = (SRQ, KGG)
|
||||
TVA = (SHR, GCG)
|
||||
TVM = (QJJ, MJB)
|
||||
TVS = (NFK, JNS)
|
||||
TXH = (JGL, PMM)
|
||||
TXJ = (TKP, HMJ)
|
||||
VBC = (GKX, HGB)
|
||||
VBQ = (FLT, FLT)
|
||||
VCG = (VVS, HTG)
|
||||
VDH = (QDH, QCC)
|
||||
VGM = (MQT, JCV)
|
||||
VGR = (MXJ, BRK)
|
||||
VHM = (TGL, TSJ)
|
||||
VHQ = (CLC, JKK)
|
||||
VHV = (TLM, PHH)
|
||||
VJC = (NXF, JTH)
|
||||
VJP = (BMG, CHG)
|
||||
VJR = (BGC, QFH)
|
||||
VKF = (VTR, BJV)
|
||||
VKM = (GJF, RQB)
|
||||
VLG = (PXN, CRR)
|
||||
VLK = (HQN, CQJ)
|
||||
VLR = (MBT, MFR)
|
||||
VMF = (CKV, NQT)
|
||||
VML = (GKX, HGB)
|
||||
VND = (RPD, SFX)
|
||||
VNT = (VVS, HTG)
|
||||
VPN = (LMR, RXQ)
|
||||
VQN = (TLD, MBR)
|
||||
VRK = (HMJ, TKP)
|
||||
VRT = (TDB, RFQ)
|
||||
VRX = (SJH, XJH)
|
||||
VSV = (XMM, DRV)
|
||||
VTB = (PNQ, DJK)
|
||||
VTD = (JSJ, LSR)
|
||||
VTF = (KJH, MQK)
|
||||
VTL = (KLC, KMS)
|
||||
VTR = (LQM, QMJ)
|
||||
VVH = (MJG, GRN)
|
||||
VVJ = (RNT, VJR)
|
||||
VVN = (XKF, MRQ)
|
||||
VVS = (DRL, MDR)
|
||||
VXV = (CHG, BMG)
|
||||
XBB = (TKG, VGM)
|
||||
XBD = (GRH, BTG)
|
||||
XCX = (TCN, HKX)
|
||||
XDF = (BFX, GTV)
|
||||
XDK = (MNQ, SXS)
|
||||
XFB = (BRQ, KGL)
|
||||
XFL = (SFH, BDS)
|
||||
XFQ = (RMQ, NCD)
|
||||
XGB = (NSF, TJJ)
|
||||
XGH = (DPT, GKD)
|
||||
XGT = (LBP, RFH)
|
||||
XHP = (TRX, LSD)
|
||||
XHV = (SHD, BVN)
|
||||
XJH = (XKM, GCL)
|
||||
XJK = (BFF, BXG)
|
||||
XJX = (SBC, QJT)
|
||||
XKF = (DHX, QHV)
|
||||
XKM = (RKV, TFH)
|
||||
XKN = (LPL, MPR)
|
||||
XLD = (KJT, TDM)
|
||||
XMK = (JXR, SFT)
|
||||
XMM = (XRC, NXM)
|
||||
XMP = (NSF, NSF)
|
||||
XMS = (MXM, XCX)
|
||||
XNM = (DBV, DBF)
|
||||
XPD = (NRK, QXF)
|
||||
XPR = (FHF, KMT)
|
||||
XQJ = (MMM, PQM)
|
||||
XQM = (TGR, XQQ)
|
||||
XQP = (JHM, KNX)
|
||||
XQQ = (PJM, TQV)
|
||||
XRC = (KXK, GMB)
|
||||
XRH = (NML, LHC)
|
||||
XRJ = (RQB, GJF)
|
||||
XRR = (SHX, DPF)
|
||||
XRV = (GPM, JFX)
|
||||
XSF = (QHP, RLQ)
|
||||
XSL = (LPQ, BCR)
|
||||
XTD = (PPL, PHJ)
|
||||
ZZZ = (PLS, DFD)
|
1
day_08/rustfmt.toml
Normal file
1
day_08/rustfmt.toml
Normal file
|
@ -0,0 +1 @@
|
|||
hard_tabs = true
|
46
day_08/src/main.rs
Normal file
46
day_08/src/main.rs
Normal file
|
@ -0,0 +1,46 @@
|
|||
use std::{collections::HashMap, fs};
|
||||
|
||||
use num::Integer;
|
||||
|
||||
fn main() {
|
||||
let data = fs::read_to_string("input.txt").unwrap();
|
||||
let (instructions, map) = data.split_once("\n\n").unwrap();
|
||||
let map: HashMap<String, (String, String)> = map
|
||||
.lines()
|
||||
.map(|line| {
|
||||
// BKM = (CDC, PSH)
|
||||
let source = line[..3].to_owned();
|
||||
let left = line[7..10].to_owned();
|
||||
let right = line[12..15].to_owned();
|
||||
(source, (left, right))
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut location = "AAA";
|
||||
let mut steps = 0;
|
||||
while location != "ZZZ" {
|
||||
location = match &instructions[steps % instructions.len()..][..1] {
|
||||
"L" => &map[location].0,
|
||||
"R" => &map[location].1,
|
||||
_ => panic!(),
|
||||
};
|
||||
steps += 1;
|
||||
}
|
||||
println!("{steps}");
|
||||
|
||||
let paths = map.keys().filter(|s| s.ends_with('A')).map(|start| {
|
||||
let mut location = start;
|
||||
let mut steps = 0;
|
||||
while !location.ends_with('Z') {
|
||||
location = match &instructions[steps % instructions.len()..][..1] {
|
||||
"L" => &map[location].0,
|
||||
"R" => &map[location].1,
|
||||
_ => panic!(),
|
||||
};
|
||||
steps += 1;
|
||||
}
|
||||
steps
|
||||
});
|
||||
let total_steps: usize = paths.fold(1, |a, b| a.lcm(&b));
|
||||
println!("{total_steps}");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue