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