day 8
This commit is contained in:
parent
5a03581041
commit
d2db596bae
92
day8/Cargo.lock
generated
Normal file
92
day8/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 = "day8"
|
||||||
|
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
day8/Cargo.toml
Normal file
9
day8/Cargo.toml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "day8"
|
||||||
|
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"
|
728
day8/input.txt
Normal file
728
day8/input.txt
Normal file
@ -0,0 +1,728 @@
|
|||||||
|
LRRLRRRLRRLRRLRRRLRRLRLLRRRLRRRLRRRLRRRLRRRLRRLLRRRLLRLRRRLRRLRRRLLRRRLRLLRRLRLLRLRLLRRLRRRLRRLLRRRLRRRLRLRRRLRRRLRRRLRRRLRLRRRLLRRRLRRLRRRLRLRRRLRRLRLLLLLRRRLRRRLRRRLRRRLRRLLRLRLRRLRRLLRRRLRRRLRRRLLLRRRLRRRLRRRLRLRRRLLRLRLRRLRRLRRRLRRLRRRLRRRLRRRLRRLLRRRLRRLRRLRLLRRRR
|
||||||
|
|
||||||
|
CTK = (JLT, HRF)
|
||||||
|
TQH = (DKT, HGB)
|
||||||
|
HQM = (XPV, TTR)
|
||||||
|
DLL = (MFK, HHS)
|
||||||
|
BVD = (BXB, FDB)
|
||||||
|
TTR = (BJG, MTF)
|
||||||
|
RPR = (CQL, KHJ)
|
||||||
|
KND = (TVL, QMF)
|
||||||
|
SQH = (XNP, MRD)
|
||||||
|
RXM = (HTR, BXT)
|
||||||
|
XSF = (BRL, XKR)
|
||||||
|
DGJ = (DQX, KCQ)
|
||||||
|
DFV = (KHJ, CQL)
|
||||||
|
CFC = (DPP, QKL)
|
||||||
|
NKD = (PVH, HQM)
|
||||||
|
RHK = (JRS, LJS)
|
||||||
|
XNB = (LCL, DRX)
|
||||||
|
JNR = (VMM, FLM)
|
||||||
|
NNB = (FFQ, XXQ)
|
||||||
|
RMQ = (NBJ, MND)
|
||||||
|
FGK = (SLK, QLG)
|
||||||
|
XBR = (NFS, CJM)
|
||||||
|
TDN = (XXX, KPX)
|
||||||
|
FXR = (DRT, KVM)
|
||||||
|
KKF = (LPC, KFT)
|
||||||
|
BTC = (NKC, DGJ)
|
||||||
|
CXP = (VNP, FTX)
|
||||||
|
XXK = (GRD, BHQ)
|
||||||
|
HNH = (NMF, FSH)
|
||||||
|
VBT = (NKC, DGJ)
|
||||||
|
RRS = (VVR, QXT)
|
||||||
|
VRM = (NDM, DRP)
|
||||||
|
GFR = (JPB, JML)
|
||||||
|
XHS = (LQM, SSV)
|
||||||
|
LQM = (GNT, RSS)
|
||||||
|
SBX = (QVJ, RJL)
|
||||||
|
DQX = (SMD, SMD)
|
||||||
|
KHC = (FJS, MVX)
|
||||||
|
FQQ = (HFX, TQS)
|
||||||
|
KFM = (KKQ, FFV)
|
||||||
|
HLZ = (MQN, LSB)
|
||||||
|
QXB = (XXQ, FFQ)
|
||||||
|
PQT = (HVJ, DPG)
|
||||||
|
HFX = (LHH, KDV)
|
||||||
|
RVK = (KVR, MHT)
|
||||||
|
MCS = (GJG, TGS)
|
||||||
|
CSP = (LHX, GJH)
|
||||||
|
HQV = (XXP, HLZ)
|
||||||
|
MVT = (XFN, LHQ)
|
||||||
|
FPS = (HTC, MSM)
|
||||||
|
THS = (FDV, JFM)
|
||||||
|
BNS = (VXQ, SVF)
|
||||||
|
PXZ = (BDJ, QHT)
|
||||||
|
GDV = (PGH, KND)
|
||||||
|
VPS = (HDP, CXX)
|
||||||
|
LHX = (FXR, FDJ)
|
||||||
|
VGN = (SJD, GRV)
|
||||||
|
FTB = (MFF, DQT)
|
||||||
|
XPV = (MTF, BJG)
|
||||||
|
RFT = (KFM, JJN)
|
||||||
|
FQX = (FHB, GDV)
|
||||||
|
JRT = (LLV, LDQ)
|
||||||
|
NVB = (RDQ, KQJ)
|
||||||
|
BHF = (KHT, HCL)
|
||||||
|
FJS = (BNQ, QGB)
|
||||||
|
KLV = (JFF, CFH)
|
||||||
|
CMK = (LJS, JRS)
|
||||||
|
QXA = (LSB, MQN)
|
||||||
|
SLM = (NHH, VCD)
|
||||||
|
XTF = (RXM, KCF)
|
||||||
|
NKC = (DQX, DQX)
|
||||||
|
GCX = (PVC, CVK)
|
||||||
|
NGG = (SBR, XKB)
|
||||||
|
JML = (FPS, RNT)
|
||||||
|
JSC = (FNG, BBR)
|
||||||
|
FDB = (FJC, QSH)
|
||||||
|
FBC = (BVR, MBD)
|
||||||
|
QTD = (HBH, THD)
|
||||||
|
JRS = (NHC, DGN)
|
||||||
|
MND = (MCN, CFC)
|
||||||
|
XCM = (DRF, RQS)
|
||||||
|
HTG = (JJN, KFM)
|
||||||
|
SQX = (DRP, NDM)
|
||||||
|
SQS = (NRJ, LXM)
|
||||||
|
PHD = (SQL, PQT)
|
||||||
|
MMB = (FJL, BFD)
|
||||||
|
KRJ = (MTQ, VPS)
|
||||||
|
HCQ = (DXP, DKQ)
|
||||||
|
BHN = (JXJ, PXR)
|
||||||
|
XKD = (QHG, TCT)
|
||||||
|
KVR = (HFL, NQK)
|
||||||
|
QXV = (HNH, FJK)
|
||||||
|
PNM = (MTJ, DTP)
|
||||||
|
SJJ = (BLH, LDN)
|
||||||
|
JPX = (QQL, QHN)
|
||||||
|
HDF = (SBX, JQT)
|
||||||
|
HJG = (TLD, XBG)
|
||||||
|
QJT = (BRN, FTM)
|
||||||
|
NXH = (MVT, XPK)
|
||||||
|
RCS = (TSC, TKG)
|
||||||
|
VJZ = (PVL, CFN)
|
||||||
|
QXT = (FBM, KJL)
|
||||||
|
SJG = (RPR, DFV)
|
||||||
|
LHH = (BBV, KLX)
|
||||||
|
QSV = (HFN, FRS)
|
||||||
|
FVJ = (HBH, THD)
|
||||||
|
FBR = (JHR, XMK)
|
||||||
|
MVX = (QGB, BNQ)
|
||||||
|
SQL = (HVJ, DPG)
|
||||||
|
NVJ = (PFN, JRR)
|
||||||
|
GXD = (CQJ, HGS)
|
||||||
|
NRP = (XDR, XLC)
|
||||||
|
FTX = (RSM, QBB)
|
||||||
|
LXM = (PBS, HRB)
|
||||||
|
VPB = (QRG, TVB)
|
||||||
|
PDS = (LQM, SSV)
|
||||||
|
XLQ = (QJV, VQD)
|
||||||
|
RNX = (BBJ, XPJ)
|
||||||
|
MRD = (NVJ, VJG)
|
||||||
|
PTQ = (XLC, XDR)
|
||||||
|
BDJ = (QGJ, BSV)
|
||||||
|
CFN = (MBB, KXJ)
|
||||||
|
HDG = (FJG, FJG)
|
||||||
|
DPT = (RDD, SLM)
|
||||||
|
QBB = (GXD, VNJ)
|
||||||
|
BLG = (HTG, RFT)
|
||||||
|
RNK = (DFV, RPR)
|
||||||
|
DKD = (CPM, SNF)
|
||||||
|
VXM = (DSG, JGP)
|
||||||
|
DPP = (JLK, NPC)
|
||||||
|
HRB = (FXK, KLJ)
|
||||||
|
SQD = (HMK, VVH)
|
||||||
|
LGV = (XKD, CQM)
|
||||||
|
JHR = (VCT, GKD)
|
||||||
|
JQT = (QVJ, RJL)
|
||||||
|
QVJ = (MRH, TGR)
|
||||||
|
DHG = (SFP, JVQ)
|
||||||
|
VQD = (FHV, BNS)
|
||||||
|
NHH = (STQ, VQQ)
|
||||||
|
CQT = (MPP, NJG)
|
||||||
|
NVV = (XQR, GQM)
|
||||||
|
KTX = (QSJ, QSJ)
|
||||||
|
BHQ = (FVX, DHG)
|
||||||
|
LJS = (NHC, DGN)
|
||||||
|
JXH = (KGM, JTX)
|
||||||
|
CKH = (XNB, PPG)
|
||||||
|
GML = (LPC, KFT)
|
||||||
|
LDN = (FMJ, QTT)
|
||||||
|
KPR = (DPT, CNJ)
|
||||||
|
CQF = (MJF, RVK)
|
||||||
|
HXC = (NXH, BSP)
|
||||||
|
GXT = (MND, NBJ)
|
||||||
|
HRP = (JRB, XBB)
|
||||||
|
GRD = (FVX, DHG)
|
||||||
|
LRP = (XPN, QXV)
|
||||||
|
HRQ = (QJT, TGT)
|
||||||
|
PGC = (FNB, HSV)
|
||||||
|
TSC = (PHJ, FLC)
|
||||||
|
PDA = (NVV, MSV)
|
||||||
|
PHJ = (SJJ, DJS)
|
||||||
|
JRB = (XSF, HSS)
|
||||||
|
BRN = (TGH, HPH)
|
||||||
|
RXL = (FJS, MVX)
|
||||||
|
XTD = (FTN, KTT)
|
||||||
|
TKV = (QTP, NHM)
|
||||||
|
JTX = (TQF, DMF)
|
||||||
|
JHP = (HMK, VVH)
|
||||||
|
JPN = (TMB, VPV)
|
||||||
|
SLK = (KKP, GCX)
|
||||||
|
MBB = (CLD, XBR)
|
||||||
|
BRQ = (JPX, GHX)
|
||||||
|
PRK = (GJH, LHX)
|
||||||
|
CNV = (PLV, VGN)
|
||||||
|
RQS = (KRG, KQM)
|
||||||
|
XQF = (BQB, KXX)
|
||||||
|
JRR = (GQF, XBC)
|
||||||
|
XMN = (GRP, CQT)
|
||||||
|
HKK = (CDS, RDF)
|
||||||
|
XSM = (LMQ, PNM)
|
||||||
|
NBZ = (QLG, SLK)
|
||||||
|
CMF = (BPL, FCS)
|
||||||
|
KLX = (RRV, SXM)
|
||||||
|
CBF = (CTJ, TCN)
|
||||||
|
VMM = (GML, KKF)
|
||||||
|
NQM = (PXR, JXJ)
|
||||||
|
QPL = (TDJ, MDK)
|
||||||
|
XXQ = (XXT, TLQ)
|
||||||
|
MPM = (HFX, TQS)
|
||||||
|
GQM = (XLV, TCK)
|
||||||
|
JNB = (JXH, JBT)
|
||||||
|
MPP = (XSM, FXH)
|
||||||
|
JSJ = (QPJ, FGL)
|
||||||
|
DHX = (SJG, RNK)
|
||||||
|
SKG = (XHS, PDS)
|
||||||
|
XMK = (GKD, VCT)
|
||||||
|
FMQ = (TQQ, FSS)
|
||||||
|
FSH = (DHX, QDM)
|
||||||
|
FXK = (VRM, SQX)
|
||||||
|
HBP = (LXM, NRJ)
|
||||||
|
GJG = (VTT, LJK)
|
||||||
|
QPJ = (VFX, DVQ)
|
||||||
|
MVM = (FGK, NBZ)
|
||||||
|
MSF = (QKP, XMN)
|
||||||
|
XQJ = (JPN, LJH)
|
||||||
|
KCJ = (GXT, RMQ)
|
||||||
|
GXB = (TCN, CTJ)
|
||||||
|
FFV = (VQS, PHD)
|
||||||
|
CLD = (NFS, CJM)
|
||||||
|
CXN = (VBT, BTC)
|
||||||
|
VPT = (FTR, NDP)
|
||||||
|
MSM = (VMG, GQH)
|
||||||
|
QJJ = (KTX, KTX)
|
||||||
|
NHM = (RCS, MFH)
|
||||||
|
FTR = (TXS, NGG)
|
||||||
|
HSV = (MPK, BDX)
|
||||||
|
LJK = (DKD, KQT)
|
||||||
|
VQS = (SQL, PQT)
|
||||||
|
FGL = (DVQ, VFX)
|
||||||
|
LSS = (PQK, PKV)
|
||||||
|
JQQ = (BVD, GFK)
|
||||||
|
JBQ = (HCQ, RQC)
|
||||||
|
BBJ = (PSR, BRQ)
|
||||||
|
XBB = (HSS, XSF)
|
||||||
|
MCN = (DPP, QKL)
|
||||||
|
BXT = (PGL, HNB)
|
||||||
|
KHT = (QQC, XXV)
|
||||||
|
HFP = (CDX, XST)
|
||||||
|
HFL = (NFG, CKH)
|
||||||
|
XVB = (FHQ, JXL)
|
||||||
|
FPQ = (NLS, TLL)
|
||||||
|
BPK = (RFK, DVP)
|
||||||
|
SDR = (JSJ, XRB)
|
||||||
|
FTN = (GLQ, HKK)
|
||||||
|
MTJ = (QTD, FVJ)
|
||||||
|
BBV = (SXM, RRV)
|
||||||
|
HJK = (CMP, DPF)
|
||||||
|
FJK = (FSH, NMF)
|
||||||
|
VFN = (FPQ, HTN)
|
||||||
|
DVP = (VXM, FXL)
|
||||||
|
XNP = (VJG, NVJ)
|
||||||
|
MSX = (VKJ, KBL)
|
||||||
|
FDJ = (DRT, KVM)
|
||||||
|
JNL = (RXF, FCD)
|
||||||
|
NKG = (QKP, XMN)
|
||||||
|
BRL = (DPV, FFN)
|
||||||
|
NSL = (TKV, KXR)
|
||||||
|
HHG = (MPM, FQQ)
|
||||||
|
GCN = (LJF, LJF)
|
||||||
|
XXV = (TQH, SDH)
|
||||||
|
RFD = (TGS, GJG)
|
||||||
|
NMF = (DHX, QDM)
|
||||||
|
XST = (GHC, HXC)
|
||||||
|
JFM = (LVJ, FSM)
|
||||||
|
VVX = (LBN, DLL)
|
||||||
|
HSS = (XKR, BRL)
|
||||||
|
MSP = (RXF, FCD)
|
||||||
|
BSP = (MVT, XPK)
|
||||||
|
RHQ = (KHT, HCL)
|
||||||
|
BBG = (VBT, BTC)
|
||||||
|
XXP = (LSB, MQN)
|
||||||
|
JGP = (VFN, XCD)
|
||||||
|
JSD = (BHQ, GRD)
|
||||||
|
DGN = (HMG, HPG)
|
||||||
|
HVJ = (QJB, VRL)
|
||||||
|
RDQ = (TRF, HJF)
|
||||||
|
VFP = (HBP, SQS)
|
||||||
|
XRB = (QPJ, FGL)
|
||||||
|
DMD = (MCS, RFD)
|
||||||
|
FLC = (SJJ, DJS)
|
||||||
|
VVH = (RPG, CXP)
|
||||||
|
FHJ = (JPV, PXZ)
|
||||||
|
MRH = (VPB, QFM)
|
||||||
|
QTT = (TXT, MFD)
|
||||||
|
HPH = (CCX, SKG)
|
||||||
|
HTC = (VMG, GQH)
|
||||||
|
RBF = (VXX, KRJ)
|
||||||
|
GFJ = (KTX, QPV)
|
||||||
|
QHG = (XLS, LXJ)
|
||||||
|
RFK = (VXM, FXL)
|
||||||
|
DKB = (BFD, FJL)
|
||||||
|
HRF = (KHC, RXL)
|
||||||
|
MKQ = (NKG, MSF)
|
||||||
|
JHQ = (BXH, XQF)
|
||||||
|
FVX = (SFP, JVQ)
|
||||||
|
VVR = (KJL, FBM)
|
||||||
|
XLC = (MNC, XVB)
|
||||||
|
LQD = (TCP, ZZZ)
|
||||||
|
GMH = (QCT, GHQ)
|
||||||
|
QDM = (RNK, SJG)
|
||||||
|
PRQ = (TTC, TXJ)
|
||||||
|
FCD = (CLR, NVB)
|
||||||
|
DTP = (FVJ, QTD)
|
||||||
|
JFF = (RXB, CLP)
|
||||||
|
XGG = (FSS, TQQ)
|
||||||
|
TLD = (GPH, XTF)
|
||||||
|
MXL = (LSF, FSQ)
|
||||||
|
FLJ = (JFF, CFH)
|
||||||
|
NGT = (KTT, FTN)
|
||||||
|
RLN = (PLG, HHG)
|
||||||
|
STQ = (VDC, HRP)
|
||||||
|
TCK = (VTR, TGD)
|
||||||
|
PQK = (FGP, TBN)
|
||||||
|
FJL = (FBC, MXF)
|
||||||
|
MJX = (PLV, VGN)
|
||||||
|
MFD = (GHH, FTB)
|
||||||
|
XBZ = (MSV, NVV)
|
||||||
|
NXL = (LJF, THM)
|
||||||
|
KLJ = (SQX, VRM)
|
||||||
|
TCN = (MRG, XFM)
|
||||||
|
CTJ = (XFM, MRG)
|
||||||
|
QBH = (SVK, CFT)
|
||||||
|
GRV = (NDC, SDR)
|
||||||
|
TFD = (BHN, NQM)
|
||||||
|
SJD = (SDR, NDC)
|
||||||
|
LHQ = (HDG, HXL)
|
||||||
|
TVS = (NSL, GKH)
|
||||||
|
NST = (MJF, RVK)
|
||||||
|
GJH = (FXR, FDJ)
|
||||||
|
NGR = (PSP, HST)
|
||||||
|
QGJ = (TNT, JNR)
|
||||||
|
HTR = (PGL, HNB)
|
||||||
|
SFP = (NRP, PTQ)
|
||||||
|
CTR = (MHF, QBH)
|
||||||
|
CJM = (KXN, HFQ)
|
||||||
|
HNB = (BNM, LSS)
|
||||||
|
PSS = (FDV, JFM)
|
||||||
|
JPB = (FPS, RNT)
|
||||||
|
RQC = (DKQ, DXP)
|
||||||
|
NRD = (JQT, SBX)
|
||||||
|
NGV = (VMJ, NSJ)
|
||||||
|
VCD = (STQ, VQQ)
|
||||||
|
TXB = (QCQ, JTT)
|
||||||
|
TKX = (JPB, JML)
|
||||||
|
LQH = (PGC, FQD)
|
||||||
|
DPV = (DCG, XBD)
|
||||||
|
VQQ = (HRP, VDC)
|
||||||
|
FQD = (FNB, HSV)
|
||||||
|
HXH = (DRF, RQS)
|
||||||
|
GNM = (CLC, CLC)
|
||||||
|
XLS = (DKB, MMB)
|
||||||
|
SVK = (CMF, MNS)
|
||||||
|
NFG = (XNB, PPG)
|
||||||
|
DRB = (XJV, VHV)
|
||||||
|
GHH = (MFF, DQT)
|
||||||
|
SHG = (RFT, HTG)
|
||||||
|
PLM = (QCQ, JTT)
|
||||||
|
LPC = (JRT, MHM)
|
||||||
|
SDH = (DKT, HGB)
|
||||||
|
GRR = (TDJ, MDK)
|
||||||
|
TQF = (NKD, JNC)
|
||||||
|
VTT = (DKD, KQT)
|
||||||
|
THD = (XGF, DVJ)
|
||||||
|
KFQ = (RFD, MCS)
|
||||||
|
DJS = (BLH, LDN)
|
||||||
|
CHS = (JSD, XXK)
|
||||||
|
BFD = (FBC, MXF)
|
||||||
|
PCP = (TLV, VNT)
|
||||||
|
PVH = (TTR, XPV)
|
||||||
|
FHB = (KND, PGH)
|
||||||
|
FFN = (XBD, DCG)
|
||||||
|
TBN = (GRR, QPL)
|
||||||
|
HFN = (NNB, QXB)
|
||||||
|
NJG = (XSM, FXH)
|
||||||
|
FXH = (PNM, LMQ)
|
||||||
|
GHC = (BSP, NXH)
|
||||||
|
MFT = (CTR, JDS)
|
||||||
|
QCT = (PCP, GJC)
|
||||||
|
DRX = (CTK, RDS)
|
||||||
|
GQJ = (SHG, BLG)
|
||||||
|
RXB = (BHB, HFP)
|
||||||
|
TDA = (CFN, PVL)
|
||||||
|
LQF = (CNV, MJX)
|
||||||
|
LJF = (FDM, FDM)
|
||||||
|
CLC = (SKR, SKR)
|
||||||
|
TCT = (LXJ, XLS)
|
||||||
|
HCL = (QQC, XXV)
|
||||||
|
CDX = (GHC, HXC)
|
||||||
|
XKR = (DPV, FFN)
|
||||||
|
DKQ = (VVX, PFQ)
|
||||||
|
TQV = (JMC, VFP)
|
||||||
|
MXF = (BVR, MBD)
|
||||||
|
LLX = (TKX, GFR)
|
||||||
|
CLR = (KQJ, RDQ)
|
||||||
|
FNG = (KPN, DMK)
|
||||||
|
DMF = (JNC, NKD)
|
||||||
|
XQR = (TCK, XLV)
|
||||||
|
MNS = (BPL, FCS)
|
||||||
|
XDR = (XVB, MNC)
|
||||||
|
KCF = (BXT, HTR)
|
||||||
|
TGH = (SKG, CCX)
|
||||||
|
TTC = (CBF, GXB)
|
||||||
|
GRP = (NJG, MPP)
|
||||||
|
NPC = (FPF, LRP)
|
||||||
|
JGS = (PBN, PBN)
|
||||||
|
DBS = (JLC, MQG)
|
||||||
|
JVQ = (NRP, PTQ)
|
||||||
|
HMG = (DSS, PRQ)
|
||||||
|
KGM = (DMF, TQF)
|
||||||
|
MQN = (XLQ, FQF)
|
||||||
|
TDJ = (GNM, GNM)
|
||||||
|
PFN = (GQF, XBC)
|
||||||
|
BTX = (JSD, XXK)
|
||||||
|
FDM = (FGK, FGK)
|
||||||
|
RDF = (RRS, CCF)
|
||||||
|
GPH = (RXM, KCF)
|
||||||
|
FLM = (GML, KKF)
|
||||||
|
VJG = (PFN, JRR)
|
||||||
|
XFM = (LPH, GQJ)
|
||||||
|
TNT = (VMM, FLM)
|
||||||
|
CNJ = (SLM, RDD)
|
||||||
|
CLJ = (DPT, CNJ)
|
||||||
|
XFN = (HDG, HDG)
|
||||||
|
HNQ = (PRK, CSP)
|
||||||
|
DRF = (KQM, KRG)
|
||||||
|
RDS = (JLT, HRF)
|
||||||
|
XJV = (LLX, GVC)
|
||||||
|
SHJ = (CNV, MJX)
|
||||||
|
NQK = (NFG, CKH)
|
||||||
|
XXX = (GRL, RHS)
|
||||||
|
GJC = (TLV, VNT)
|
||||||
|
SNF = (MTM, DJK)
|
||||||
|
KXR = (QTP, NHM)
|
||||||
|
PVL = (MBB, KXJ)
|
||||||
|
MSV = (GQM, XQR)
|
||||||
|
JSL = (HCQ, RQC)
|
||||||
|
LLV = (KDD, LMB)
|
||||||
|
HTN = (TLL, NLS)
|
||||||
|
KQJ = (TRF, HJF)
|
||||||
|
NKT = (HFN, FRS)
|
||||||
|
GKD = (BHF, RHQ)
|
||||||
|
QHT = (BSV, QGJ)
|
||||||
|
HHS = (TPT, MKQ)
|
||||||
|
CCF = (QXT, VVR)
|
||||||
|
DRP = (VVL, TFD)
|
||||||
|
NFS = (HFQ, KXN)
|
||||||
|
MFH = (TSC, TKG)
|
||||||
|
TXJ = (GXB, CBF)
|
||||||
|
BNM = (PKV, PQK)
|
||||||
|
TGT = (BRN, FTM)
|
||||||
|
SJF = (PGC, FQD)
|
||||||
|
CCX = (PDS, XHS)
|
||||||
|
FQF = (VQD, QJV)
|
||||||
|
LSB = (XLQ, FQF)
|
||||||
|
LBN = (MFK, HHS)
|
||||||
|
HBH = (DVJ, XGF)
|
||||||
|
NSJ = (TDN, JTF)
|
||||||
|
TLV = (SJF, LQH)
|
||||||
|
BVR = (RNX, KRN)
|
||||||
|
PLG = (FQQ, MPM)
|
||||||
|
KTT = (GLQ, HKK)
|
||||||
|
GQH = (GCN, NXL)
|
||||||
|
BLH = (FMJ, QTT)
|
||||||
|
PFQ = (LBN, DLL)
|
||||||
|
CMP = (PSS, THS)
|
||||||
|
KPX = (RHS, GRL)
|
||||||
|
FNB = (MPK, BDX)
|
||||||
|
KDD = (CMK, RHK)
|
||||||
|
TKG = (PHJ, FLC)
|
||||||
|
CXX = (TQV, NBV)
|
||||||
|
DQT = (JNL, MSP)
|
||||||
|
HXL = (FJG, FHJ)
|
||||||
|
NSS = (TGT, QJT)
|
||||||
|
QKP = (CQT, GRP)
|
||||||
|
JJN = (KKQ, FFV)
|
||||||
|
NLM = (SKR, VJZ)
|
||||||
|
XGF = (XDG, LGV)
|
||||||
|
BJG = (NKT, QSV)
|
||||||
|
LDQ = (KDD, LMB)
|
||||||
|
LSF = (DDL, HJG)
|
||||||
|
TQQ = (FQX, BDD)
|
||||||
|
HMK = (CXP, RPG)
|
||||||
|
ZZZ = (RLN, BNG)
|
||||||
|
DKT = (NSS, HRQ)
|
||||||
|
LMB = (CMK, RHK)
|
||||||
|
MBJ = (XQF, BXH)
|
||||||
|
KHJ = (GPD, JNB)
|
||||||
|
KQM = (NST, CQF)
|
||||||
|
SPH = (PRK, CSP)
|
||||||
|
KSD = (HST, PSP)
|
||||||
|
QLG = (GCX, KKP)
|
||||||
|
RXF = (CLR, NVB)
|
||||||
|
BXH = (BQB, KXX)
|
||||||
|
JKC = (XGG, FMQ)
|
||||||
|
BPL = (JSC, HLV)
|
||||||
|
JPV = (QHT, BDJ)
|
||||||
|
QQA = (QHT, BDJ)
|
||||||
|
DPF = (THS, PSS)
|
||||||
|
MHM = (LDQ, LLV)
|
||||||
|
FJG = (JPV, JPV)
|
||||||
|
QTP = (MFH, RCS)
|
||||||
|
SMD = (XXP, XXP)
|
||||||
|
VXX = (MTQ, VPS)
|
||||||
|
FPF = (XPN, QXV)
|
||||||
|
VFX = (BBG, CXN)
|
||||||
|
DSS = (TTC, TXJ)
|
||||||
|
RLC = (VXX, KRJ)
|
||||||
|
CFH = (RXB, CLP)
|
||||||
|
DCG = (LQF, SHJ)
|
||||||
|
QHN = (NGT, XTD)
|
||||||
|
JNK = (QCT, GHQ)
|
||||||
|
FXL = (DSG, JGP)
|
||||||
|
RNV = (MXL, HBR)
|
||||||
|
TVL = (DVR, KCJ)
|
||||||
|
KCQ = (SMD, HQV)
|
||||||
|
KXJ = (CLD, XBR)
|
||||||
|
FGP = (GRR, QPL)
|
||||||
|
KVM = (MXJ, PKS)
|
||||||
|
DVR = (GXT, RMQ)
|
||||||
|
KJL = (SQH, JMS)
|
||||||
|
QQC = (SDH, TQH)
|
||||||
|
GNT = (MGL, JGQ)
|
||||||
|
KRG = (CQF, NST)
|
||||||
|
LXJ = (DKB, MMB)
|
||||||
|
XXT = (FPD, DRB)
|
||||||
|
CDS = (RRS, CCF)
|
||||||
|
KBL = (JQQ, JST)
|
||||||
|
DDL = (XBG, TLD)
|
||||||
|
DSG = (VFN, XCD)
|
||||||
|
GHX = (QHN, QQL)
|
||||||
|
BNG = (PLG, HHG)
|
||||||
|
MGL = (CLJ, KPR)
|
||||||
|
VCT = (RHQ, BHF)
|
||||||
|
PHR = (CLC, NLM)
|
||||||
|
VXQ = (FBR, TNJ)
|
||||||
|
GLC = (DPF, CMP)
|
||||||
|
QPV = (QSJ, LQD)
|
||||||
|
MTQ = (CXX, HDP)
|
||||||
|
JXJ = (LLL, JCJ)
|
||||||
|
LJJ = (HBR, MXL)
|
||||||
|
VPV = (DMD, KFQ)
|
||||||
|
JST = (BVD, GFK)
|
||||||
|
QQL = (NGT, XTD)
|
||||||
|
FHQ = (TXB, PLM)
|
||||||
|
VRL = (DBS, JFR)
|
||||||
|
MTF = (QSV, NKT)
|
||||||
|
XBG = (GPH, XTF)
|
||||||
|
PBN = (NVV, MSV)
|
||||||
|
TLQ = (FPD, DRB)
|
||||||
|
JBT = (JTX, KGM)
|
||||||
|
RSM = (VNJ, GXD)
|
||||||
|
BBR = (KPN, DMK)
|
||||||
|
DJK = (KLV, FLJ)
|
||||||
|
SKR = (CFN, PVL)
|
||||||
|
PKV = (TBN, FGP)
|
||||||
|
FBM = (SQH, JMS)
|
||||||
|
GLQ = (RDF, CDS)
|
||||||
|
NHC = (HMG, HPG)
|
||||||
|
VDC = (JRB, XBB)
|
||||||
|
KXN = (HDF, NRD)
|
||||||
|
DPG = (VRL, QJB)
|
||||||
|
QCQ = (GMH, JNK)
|
||||||
|
SSV = (GNT, RSS)
|
||||||
|
NDP = (TXS, NGG)
|
||||||
|
XBD = (LQF, SHJ)
|
||||||
|
XDG = (XKD, CQM)
|
||||||
|
CLP = (BHB, HFP)
|
||||||
|
PVC = (CHS, BTX)
|
||||||
|
CQM = (QHG, TCT)
|
||||||
|
GKH = (TKV, KXR)
|
||||||
|
LPH = (SHG, BLG)
|
||||||
|
NVQ = (CTR, JDS)
|
||||||
|
TVB = (MBJ, JHQ)
|
||||||
|
QSH = (TVS, LLP)
|
||||||
|
XPN = (FJK, HNH)
|
||||||
|
BNQ = (HNQ, SPH)
|
||||||
|
SCX = (RLC, RBF)
|
||||||
|
QKL = (JLK, NPC)
|
||||||
|
MFK = (MKQ, TPT)
|
||||||
|
MJF = (KVR, MHT)
|
||||||
|
QSJ = (TCP, TCP)
|
||||||
|
STX = (SCX, HCV)
|
||||||
|
PSR = (GHX, JPX)
|
||||||
|
TQS = (KDV, LHH)
|
||||||
|
JFR = (JLC, MQG)
|
||||||
|
JTT = (JNK, GMH)
|
||||||
|
PGH = (QMF, TVL)
|
||||||
|
TXS = (XKB, SBR)
|
||||||
|
PKS = (MSX, CFS)
|
||||||
|
CFS = (VKJ, KBL)
|
||||||
|
JLT = (KHC, RXL)
|
||||||
|
GRL = (SGG, JKC)
|
||||||
|
LJH = (TMB, VPV)
|
||||||
|
MPK = (MFB, NGV)
|
||||||
|
CQL = (GPD, JNB)
|
||||||
|
MXJ = (CFS, MSX)
|
||||||
|
HBR = (FSQ, LSF)
|
||||||
|
KPN = (MVC, XQJ)
|
||||||
|
FPD = (VHV, XJV)
|
||||||
|
MDK = (GNM, PHR)
|
||||||
|
HGS = (STX, XQN)
|
||||||
|
NBV = (JMC, VFP)
|
||||||
|
RRV = (GLC, HJK)
|
||||||
|
TGD = (VPT, BBH)
|
||||||
|
PPA = (SLK, QLG)
|
||||||
|
SVF = (TNJ, FBR)
|
||||||
|
LCL = (CTK, RDS)
|
||||||
|
RHS = (JKC, SGG)
|
||||||
|
KKQ = (VQS, PHD)
|
||||||
|
JCJ = (KSD, NGR)
|
||||||
|
AAA = (BNG, RLN)
|
||||||
|
MRG = (GQJ, LPH)
|
||||||
|
HLV = (FNG, BBR)
|
||||||
|
VNP = (QBB, RSM)
|
||||||
|
VNT = (SJF, LQH)
|
||||||
|
GHQ = (GJC, PCP)
|
||||||
|
CPM = (DJK, MTM)
|
||||||
|
VVL = (BHN, NQM)
|
||||||
|
JTF = (KPX, XXX)
|
||||||
|
FFQ = (XXT, TLQ)
|
||||||
|
TXT = (FTB, GHH)
|
||||||
|
TGR = (VPB, QFM)
|
||||||
|
VTR = (BBH, VPT)
|
||||||
|
SBR = (JBQ, JSL)
|
||||||
|
FRS = (QXB, NNB)
|
||||||
|
JDS = (QBH, MHF)
|
||||||
|
GFK = (FDB, BXB)
|
||||||
|
TCP = (BNG, RLN)
|
||||||
|
RDD = (NHH, VCD)
|
||||||
|
CDF = (JGS, JGS)
|
||||||
|
NDM = (TFD, VVL)
|
||||||
|
TLL = (NVQ, MFT)
|
||||||
|
QJV = (FHV, BNS)
|
||||||
|
PSP = (LJJ, RNV)
|
||||||
|
NDC = (JSJ, XRB)
|
||||||
|
GVC = (TKX, GFR)
|
||||||
|
VQP = (DVP, RFK)
|
||||||
|
FTM = (TGH, HPH)
|
||||||
|
QMF = (DVR, KCJ)
|
||||||
|
HGB = (HRQ, NSS)
|
||||||
|
CVK = (BTX, CHS)
|
||||||
|
JNC = (HQM, PVH)
|
||||||
|
FJC = (TVS, LLP)
|
||||||
|
RPG = (FTX, VNP)
|
||||||
|
PGL = (BNM, LSS)
|
||||||
|
DXP = (PFQ, VVX)
|
||||||
|
JGQ = (CLJ, KPR)
|
||||||
|
TGS = (LJK, VTT)
|
||||||
|
BXB = (FJC, QSH)
|
||||||
|
QGB = (SPH, HNQ)
|
||||||
|
HJF = (QJJ, GFJ)
|
||||||
|
JMS = (MRD, XNP)
|
||||||
|
THM = (FDM, MVM)
|
||||||
|
KKP = (CVK, PVC)
|
||||||
|
RNT = (MSM, HTC)
|
||||||
|
HDP = (NBV, TQV)
|
||||||
|
NRJ = (HRB, PBS)
|
||||||
|
HCV = (RBF, RLC)
|
||||||
|
MFF = (JNL, MSP)
|
||||||
|
SXM = (HJK, GLC)
|
||||||
|
TRF = (QJJ, GFJ)
|
||||||
|
KFT = (JRT, MHM)
|
||||||
|
PBS = (KLJ, FXK)
|
||||||
|
QRG = (JHQ, MBJ)
|
||||||
|
QJB = (DBS, JFR)
|
||||||
|
FSQ = (DDL, HJG)
|
||||||
|
VHV = (LLX, GVC)
|
||||||
|
CFT = (CMF, MNS)
|
||||||
|
KXX = (SBS, DXN)
|
||||||
|
MHT = (HFL, NQK)
|
||||||
|
SLR = (PBN, XBZ)
|
||||||
|
BDX = (NGV, MFB)
|
||||||
|
MVC = (LJH, JPN)
|
||||||
|
DRT = (PKS, MXJ)
|
||||||
|
VNJ = (HGS, CQJ)
|
||||||
|
XBC = (CDF, VJF)
|
||||||
|
LVJ = (XCM, HXH)
|
||||||
|
DVQ = (BBG, CXN)
|
||||||
|
HST = (LJJ, RNV)
|
||||||
|
QFM = (QRG, TVB)
|
||||||
|
RSS = (MGL, JGQ)
|
||||||
|
RJL = (TGR, MRH)
|
||||||
|
KDV = (BBV, KLX)
|
||||||
|
TPT = (NKG, MSF)
|
||||||
|
VMJ = (TDN, JTF)
|
||||||
|
VKJ = (JQQ, JST)
|
||||||
|
LMQ = (DTP, MTJ)
|
||||||
|
BHB = (XST, CDX)
|
||||||
|
PXR = (LLL, JCJ)
|
||||||
|
KRN = (BBJ, XPJ)
|
||||||
|
BSV = (JNR, TNT)
|
||||||
|
FHV = (VXQ, SVF)
|
||||||
|
TMB = (KFQ, DMD)
|
||||||
|
FSM = (XCM, HXH)
|
||||||
|
JMC = (HBP, SQS)
|
||||||
|
NBJ = (CFC, MCN)
|
||||||
|
LLL = (KSD, NGR)
|
||||||
|
XQN = (HCV, SCX)
|
||||||
|
CQJ = (STX, XQN)
|
||||||
|
DVJ = (LGV, XDG)
|
||||||
|
SGG = (FMQ, XGG)
|
||||||
|
KQT = (SNF, CPM)
|
||||||
|
XPK = (XFN, LHQ)
|
||||||
|
GQF = (CDF, CDF)
|
||||||
|
PPG = (DRX, LCL)
|
||||||
|
NLS = (MFT, NVQ)
|
||||||
|
HPG = (DSS, PRQ)
|
||||||
|
TNJ = (JHR, XMK)
|
||||||
|
JXL = (PLM, TXB)
|
||||||
|
LLP = (NSL, GKH)
|
||||||
|
XKB = (JSL, JBQ)
|
||||||
|
VMG = (GCN, NXL)
|
||||||
|
DMK = (MVC, XQJ)
|
||||||
|
MNC = (JXL, FHQ)
|
||||||
|
BBH = (NDP, FTR)
|
||||||
|
JLK = (LRP, FPF)
|
||||||
|
SBS = (JHP, SQD)
|
||||||
|
HFQ = (NRD, HDF)
|
||||||
|
MBD = (RNX, KRN)
|
||||||
|
BDD = (GDV, FHB)
|
||||||
|
MFB = (VMJ, NSJ)
|
||||||
|
JLC = (BPK, VQP)
|
||||||
|
XCD = (HTN, FPQ)
|
||||||
|
GPD = (JXH, JBT)
|
||||||
|
DXN = (JHP, SQD)
|
||||||
|
FCS = (JSC, HLV)
|
||||||
|
FMJ = (MFD, TXT)
|
||||||
|
MQG = (VQP, BPK)
|
||||||
|
BQB = (SBS, DXN)
|
||||||
|
MTM = (KLV, FLJ)
|
||||||
|
FSS = (BDD, FQX)
|
||||||
|
MHF = (SVK, CFT)
|
||||||
|
FDV = (LVJ, FSM)
|
||||||
|
PLV = (GRV, SJD)
|
||||||
|
XPJ = (BRQ, PSR)
|
||||||
|
VJF = (JGS, SLR)
|
||||||
|
XLV = (VTR, TGD)
|
45
day8/src/main.rs
Normal file
45
day8/src/main.rs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
use std::fs::read_to_string;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
use num::integer::lcm;
|
||||||
|
|
||||||
|
fn get_steps_to(directions: &str, nodes: &HashMap<&str, (&str, &str)>,
|
||||||
|
start: &str, stop: fn(&str) -> bool) -> u64 {
|
||||||
|
let mut current_node = start;
|
||||||
|
let mut counter: u64 = 0;
|
||||||
|
'outer: loop {
|
||||||
|
for c in directions.bytes() {
|
||||||
|
let (left, right) = nodes[current_node];
|
||||||
|
match c {
|
||||||
|
b'L' => current_node = left,
|
||||||
|
b'R' => current_node = right,
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
counter += 1;
|
||||||
|
if stop(current_node) {
|
||||||
|
break 'outer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
counter
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let lines_str = read_to_string("input.txt").unwrap();
|
||||||
|
let mut lines_iter = lines_str.lines();
|
||||||
|
let directions = lines_iter.next().unwrap();
|
||||||
|
lines_iter.next();
|
||||||
|
let mut nodes: HashMap<&str, (&str, &str)> = HashMap::new();
|
||||||
|
for line in lines_iter {
|
||||||
|
let mut ids = line.split([' ', '(', ')', '=', ',']).filter(|&str| !str.is_empty());
|
||||||
|
nodes.insert(ids.next().unwrap(), (ids.next().unwrap(), ids.next().unwrap()));
|
||||||
|
}
|
||||||
|
let counter1 = get_steps_to(directions, &nodes, "AAA", |str| str == "ZZZ");
|
||||||
|
let counter2 = nodes.iter()
|
||||||
|
.filter_map(|(&id, _)|
|
||||||
|
Some(id).filter(|&id| id.as_bytes()[2 as usize] == b'A'))
|
||||||
|
.map(|node| get_steps_to(
|
||||||
|
directions, &nodes, node, |str| str.as_bytes()[2 as usize] == b'Z'))
|
||||||
|
.fold(1 as u64, |acc, counter| lcm(acc, counter));
|
||||||
|
println!("{}", counter1);
|
||||||
|
println!("{}", counter2);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user