Upload day03
This commit is contained in:
parent
912272282d
commit
6fb292f850
|
@ -0,0 +1,2 @@
|
||||||
|
target
|
||||||
|
|
|
@ -6,7 +6,7 @@ These are my attempts on [AoC 2022](https://adventofcode.com/2022/)
|
||||||
|--------------|--------|--------|----------|
|
|--------------|--------|--------|----------|
|
||||||
| [01](day01) | ⭐ | ⭐ | Python |
|
| [01](day01) | ⭐ | ⭐ | Python |
|
||||||
| [02](day02) | ⭐ | ⭐ | C |
|
| [02](day02) | ⭐ | ⭐ | C |
|
||||||
| 03 | | | |
|
| [03](day03) | ⭐ | ⭐ | Rust |
|
||||||
| 04 | | | |
|
| 04 | | | |
|
||||||
| 05 | | | |
|
| 05 | | | |
|
||||||
| 06 | | | |
|
| 06 | | | |
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "day03"
|
||||||
|
version = "0.1.0"
|
|
@ -0,0 +1,12 @@
|
||||||
|
[package]
|
||||||
|
name = "day03"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "day03"
|
||||||
|
path = "main.rs"
|
|
@ -0,0 +1,300 @@
|
||||||
|
RCMRQjLLWGTjnlnZwwnZJRZH
|
||||||
|
qnvfhpSbvSppNddNdSqbbmmdPrwttJVrVPDVrJtHtwPZhrPJ
|
||||||
|
BFpFzSSqSFFSvQsnWgCMjTLzng
|
||||||
|
DbWVcVRRdlLffvtqjTWNgQ
|
||||||
|
mJJMpsmrMrJSHJpsHrFHvBvgHvqfNvzffgTvfj
|
||||||
|
mMhPjmjmFPJhMSGGcDRlwRdcLGPc
|
||||||
|
qFcbmWFJqqWpRJcQWpqsQQQwSPCPrHRHCPdNZtSrSHwrNZ
|
||||||
|
jGMjGLhhhgTvghgtGVjnNCrPVwZSZffSNSwHZZdH
|
||||||
|
DvzDlvvhnjlMlglglGGhDLpqqcJWWtsmszpWbBBBmQmb
|
||||||
|
SPLPHQbJSbPsvTLmfDvVDctvWhcDlD
|
||||||
|
jdRRzzGgJqwrpMRMgdjlcVcWqfWWlfDlmmlWhB
|
||||||
|
rwgRGdpGprNNLQLsbZJPsn
|
||||||
|
GZhTVLztHrSzrRBz
|
||||||
|
MJWjMvsfSCLSnrJn
|
||||||
|
MjglcgWMdccvZGFtTDchLLLh
|
||||||
|
rgDHBgBjRgRTgwzwthBnQwmBtB
|
||||||
|
MsMpSfMsTGTFFLdFFFMFsnNmthNnzhthtwmWnznz
|
||||||
|
pZMpJdvJMGRHVJJTVHjb
|
||||||
|
TQVqZVBcBBdBfbpN
|
||||||
|
zvzrtCshrntCHslPMMMFpZHbNSpb
|
||||||
|
hLWhGLttsvLvrrWvhzVmQgwJZTRcggTjGcgT
|
||||||
|
SqRGLHtSbtNTbhjFTjDDpF
|
||||||
|
WwgJgmdmMdwPDVQQBBhSBFwV
|
||||||
|
JMPlmlSldWZmRqtLsRGRtvls
|
||||||
|
mZvmvPNmlNJPJzzmgNvNgdqqdBSpfHBqSsHqHfwpsffq
|
||||||
|
nhDQDrwLrVVnqfGnsBGBGGsH
|
||||||
|
VjCDMhbDjLjtFhtLhLhQjNZcZPwWWcczmvglgJJN
|
||||||
|
wwqnwZGGZqqMpMprpZqwGlLDtNDffdBdNVBmNGBN
|
||||||
|
TSTchTFbRLfLmVhNDm
|
||||||
|
SCLRvJQvRFTSRjqMqPZrZnrzZzjp
|
||||||
|
cJfqGjgGJcsgsPnghgBm
|
||||||
|
FHHbQQHLWLbPQThqQQRnZs
|
||||||
|
lLLMSCvrlFMwlSlFcNwqDVVpJcfjzVDf
|
||||||
|
cRdRDhsDFzPztwJdGP
|
||||||
|
CVqpCqCgSNfCSQBpjtBwtlBBHLlmGjGG
|
||||||
|
qfQfCVQfgQnVNpQCMqfcrFrwWDhrDnsvcRDsbc
|
||||||
|
nFWWzqWZQSqnJzNJzslJVsdV
|
||||||
|
vBBvsLvbBmBmRlGTNJJvRRTD
|
||||||
|
tBbpmmPwCmHpMHHMrPCCcSnZSgcFcZgWFscSfgth
|
||||||
|
LLssTJrqrpvrvvpJvdjggMlgzVgVggPlFPqz
|
||||||
|
HwZwCZfHNtbMzjgVnFPC
|
||||||
|
RSttfRwZDtBcZwQMQdrQsdTBQQmW
|
||||||
|
lJnNhMJqljlNhSrdWlGGGQHwwH
|
||||||
|
vbTpbCsTFCTmbSmcRfVCfRpwcPdwWQQrdwHwBHrPdwrLLB
|
||||||
|
sVTmDfmCTVmJjgSzzntDtt
|
||||||
|
DQtMjZHZHvMbwwTSpqLtpJ
|
||||||
|
FzVFlsNdVczWPzWcslVfSLqLsqJpSwwsJswLrf
|
||||||
|
dNFFWcmzWFGLWcdcFgvZvvRHQvjMHDMBGD
|
||||||
|
MVPTmPvbMgrTmmmmMRMvPvBwFGhhDCdFFwLCLdJhDGFRhG
|
||||||
|
fqqWfpZWzWsDwhwdhwqGLD
|
||||||
|
ZWSSftStnnplcQLSbVMBvTbrMlbrBvvl
|
||||||
|
FSsHDmtFLbbFbLGg
|
||||||
|
vrvzTzWzzzvppzSzTMnfTggjVgbgjbLjgPPnbGbVGL
|
||||||
|
pdMwrBpfwfSMTTWdMTpBDCBtmsmltslcBDCshDHs
|
||||||
|
RgbmfGtmRVgLLSVSnSrWWSHhnh
|
||||||
|
ccTvlvNppsFnbFnhnWnPHJ
|
||||||
|
pqNjDBjNNjvpZfmtjbCLbCmb
|
||||||
|
qsSVpSVfWqgNrVtWptpmSfqbPQljbHPHlDnljRSlwSnwQn
|
||||||
|
dcGBrMFMdLTGGdlwDwMRHwwMbjHP
|
||||||
|
CFBvhFhTLFCGvFchChBdBTJtsNpWqfVgtszprmVWNqNgvV
|
||||||
|
sjsTgNSNqSjgMmVPmmmrpH
|
||||||
|
RftCcWddRCZfPtCfcQZdcZDcrBllBFpVHprHWlHHpHJJmlFp
|
||||||
|
thPZRtLcDRdDCTTsqbnwjhvNjq
|
||||||
|
TQPtgfgdPcdSQhjwHhHBLS
|
||||||
|
RrqCqVVbJmVRJmsrzmJpWljlSHLSBwSSRWllWv
|
||||||
|
CVrDNbHrJHVMCbrDJsdFdFcPFZngMfFdTPfP
|
||||||
|
NNlZgndqmGVGGVZNWQmWmbhbbhpbbhtCbhtgCpCtMF
|
||||||
|
THfLPTzwJTJrvHRwwsbFbhfbMCpphVtBbB
|
||||||
|
RjrvzHLzPDvLzPHrTJVrwPndZQNlDZGndZWDdNNcmlQq
|
||||||
|
tjDsjDGtTjVVbQVCggvrbg
|
||||||
|
qrWWRBllRFrdlSMCdbSJCP
|
||||||
|
cZcncRnhphpZWRNtrmsrGpHffmwH
|
||||||
|
qpRjdcqTcMbbMRTwtnplnwnhPzhBhw
|
||||||
|
FSFLvNrsPNrsGSLsrFSGfnwBQwZnZwhQQLwwQhnn
|
||||||
|
sWNVmVmCFNWGsCrrjRTmMjRjPRqgJqJg
|
||||||
|
sVCnzVpmFpVSnNFCmnmzwRFDWDdMllDccMdwDMjWjWlWjg
|
||||||
|
BJbPJGGGHPZqZQbpMlWWMWlBljjjgDjh
|
||||||
|
tGQPpZtfTPpqrHsVLSzmRNLtSFsN
|
||||||
|
WCDlBWWlvMFWlQWpmSZdZnNmGfJZFZ
|
||||||
|
LqjTjgtjPcHTTJgLThztcLTLnHnmdSpZdpdffnmZSppfGpSn
|
||||||
|
PtzqzjtqJgggzhqqccqhrQMsMvMwrCwMlBvMwvvsvs
|
||||||
|
NMsJfsHTMVbjnLnVsC
|
||||||
|
htWllhmZcWDWBwhZPcmpVRjnVMRLCCjLFpCwRb
|
||||||
|
PmZMrBtcPmZWhzDWBtMmJQdddHfQGNSqHqQGGTgr
|
||||||
|
NmfnnsPlHnGqnlsNNmRPltRLvrhvrSGJSJjvFFFSSFJLhb
|
||||||
|
PzQZccVPVwgPjrJSJjhFFpQr
|
||||||
|
TdwBgdTVwzdwzlmNfRqPmqqTql
|
||||||
|
BVLLBPmPmWBlMlLJnJlBlFQVgdRDdRZRZHpZjQzdRdZQdzQZ
|
||||||
|
trGTsfbTTgHZptzSZW
|
||||||
|
fsfTNcCqqNhhVhVFVhVBWLLB
|
||||||
|
LJwgJNfbCvwCJCwBCCNhhHmGHWWSMWmWmbMmTmmGdS
|
||||||
|
lzRnnltsstZzzRTfHtHWHGWftfHW
|
||||||
|
ZFFzVFqzqlFcZscZpRZsNphjhjvjfgJhQgQvwvhC
|
||||||
|
HHzcFNcHFjhjZjlrghLL
|
||||||
|
pMZJptpZWCmpttRMCWnnDnBGGDLhlLQrhl
|
||||||
|
MJsMCTZTTpTJRmMCJzfNsNcfNHqzvvfcww
|
||||||
|
ZDtllsDlVsrQBqQqRfWl
|
||||||
|
wvJgpPhhscgvpJFNrRjRrWRjqrRjdjRv
|
||||||
|
zpsNzCsNCJCCPPHSLzznMnDSLGLM
|
||||||
|
rfrJjFWrwjpnJjjjfrjJJnFVTgTggRWRRRPPLQgCgQcPPT
|
||||||
|
sSNbSvqmsSZDZZBtNTTPGgMLMRVcgPCMRb
|
||||||
|
zZDZzNNSmrfpjFCjzj
|
||||||
|
dbbNJPBbbrFqNqttqrGbqDcmDQRmFmwcwSnQSDcpwS
|
||||||
|
ZMMTsHjzLlLcnSVwpRRQ
|
||||||
|
hZTWjWvTZzTTWhszfwbJhrgJqtBbJGdqNPqt
|
||||||
|
rrqgHrgtcHJRRjWZlRvnnWBn
|
||||||
|
QbhVmdFppwbdjnMvlnBwMWZP
|
||||||
|
TpFDdVTFTDfhHfJcSJSzGZGf
|
||||||
|
sqNTNZHsHjjFBBwJMMNMcCJD
|
||||||
|
WGLQPjfWfQWPWmtLSRRRLwBJDbtCCJJCbbwCMBbMBc
|
||||||
|
RnPdLQfPLRdndGGRvfjlgdrTTgTsrgTrZFzF
|
||||||
|
BfHbjVVqSBFfMSlCLCDrGSQssvlr
|
||||||
|
tTpnnzpcPnwzhcnJTDtTPRprGlRGGGCWlQsWvrlvrQGQrC
|
||||||
|
DPwhghDTpPVHqqdgZbZq
|
||||||
|
ZzPqfGPtRtqfqPbqfGgGZbrhMjmjBCpHpHNCmHtHjmBHnj
|
||||||
|
QJwllvFWwDvnwCBBzjwwpC
|
||||||
|
ccJLVQzWFJvVJlVbgrZZLZLRRPSgdr
|
||||||
|
rBGbLbnTfnZrQbTnHldqsMmHsqlsWfMd
|
||||||
|
JcJjCCPzPtjCNHdlGGMlll
|
||||||
|
jjgpRRvcGbwpThVppT
|
||||||
|
ttDfjtqfjtpTWWwfTbtlWccNGRSZNGPGhZGhGhcwRh
|
||||||
|
LbCrHdvzLSSHmSRNmc
|
||||||
|
JCsBvrvBLzFQbbvlVVnpQpDtWlDqfq
|
||||||
|
vvdvJBfvdTvRBflBJPNmmffmgPCMwDgsss
|
||||||
|
rFjqLnMcnqrrtMLtjNgCPCsNzzgsPCGFNs
|
||||||
|
VqLqnLVZqjMZqWnrVtWlZJJSvHvBdRSvBdRvvJ
|
||||||
|
zZBDzgQQZLlcglzjrCrCMFjGZbMsHm
|
||||||
|
PnnJVRfttTtwVnnVFGHVsjCFCjrsMM
|
||||||
|
wPRpRpRnNTpPNlBdQQDdgDNMhN
|
||||||
|
bNQpFpnwgtDHpbnhWtffmfmhvhhfsZ
|
||||||
|
LcdLdwCLPPSVSqqwZGhWdJhGJZhlGlsm
|
||||||
|
TBwSLPSPVRSVqSVqVrcnpMDDngMgnQpbRQFDNH
|
||||||
|
vPSvBJZSSdJgpJJZBDGDGrdqGdllGrGDrh
|
||||||
|
HMtsltFlRVVFtlscRjjMcsWwWChWmrnwDWGwChmjGCWq
|
||||||
|
MQHNlTVHNVHpbbpbTvvBvf
|
||||||
|
VsbPMwhbWhzdpzNNggnBcTBWNngQ
|
||||||
|
RmtZZFZqSjqVHmGQNcBHNLGLGHQH
|
||||||
|
JjRClqCjZlDZmqSqljFZZqRCvsvPfshhMdwsDwbVwzMzhffb
|
||||||
|
bfGtRgfDtVmsMzTbmz
|
||||||
|
LjGZwQLLdjFdHLNMhmzBzMNHNmzN
|
||||||
|
wjQLCFvnnQGdZLGWSjdqWDfPlrRpqRDDRqrpPr
|
||||||
|
pqnBZqjCNCqQqmllpHGMGdTfML
|
||||||
|
PsFgrRvSPsWTwWWQwGHLHW
|
||||||
|
SrvgsFbrrPJJFsrFPtFSCChBDQjqCqtNhDqhCqNC
|
||||||
|
RJZRWZWMWZPZffRCPWMdRdfQQQjJzHQsssjrSQFVschVHr
|
||||||
|
NgpnDgvGTNTVFHFFjVFF
|
||||||
|
jntvgljpGvlnbLtLbBvnLRPlCCwwCfRqMCCqqqddqw
|
||||||
|
PFBMVDSVPHMTThtMtSBMMVNbQprHbNRgNRRgLnvpnjnN
|
||||||
|
scGcrcwlswdGlcqvbQgnnpQnqLjnpp
|
||||||
|
ffwswWzcmlcWWsmcZhrDFrZMFZBMFzhM
|
||||||
|
LMdZGqdRSSZmCZMRfQjnggvlvggRcznz
|
||||||
|
tjjFhBrtpthpslcvvlcQzFnFvQ
|
||||||
|
jrhbjtpJtbZqCLdWLq
|
||||||
|
HBGBfBttZzbGbljPdpFddFqRmqRzRN
|
||||||
|
JDWghDDSDqmmDDpc
|
||||||
|
CLvgMvChCvLphCTSShhMhQsBbfTfsGsrBfjfrljrZZff
|
||||||
|
RgHgDqDzqQqgcdHqcZGTNlGffGBDGZBTGZ
|
||||||
|
LFLPWsmvrbwhwwswrTlTTCBNGFfGlNJZNS
|
||||||
|
vhrLnvhNmWvMsrvwqMdRcptQtztcjptz
|
||||||
|
sLMLsThhjgqLlsnsLgTLtMFcRbcPcJSwJbbSbtSWScSt
|
||||||
|
fvrjjDjvNprdPwwJCCSrWPFP
|
||||||
|
vfZdGzVzfvGGVGpBjnnMglTsgZlqsMlM
|
||||||
|
TCVMfCfBnHHfLLPFWb
|
||||||
|
GgQlGJzNzbzHcHHLlcPLHL
|
||||||
|
tQbNQGgRZZCVtVMZ
|
||||||
|
QFFMzwjwngsvsBjGGJWbBbBWbB
|
||||||
|
QdmVDmVDWRPWVPVV
|
||||||
|
QHtHSdDpLQCCSHrtqrdrttDfLgvnFvFghNszzwgngFwsNF
|
||||||
|
RzzTNpSRBzSBVpSRlHNSHBSSGPcLNGtjhPPcbcGhPPhcrnct
|
||||||
|
CCmmCwwdfFJqDmdwsddhsmvdcMbLfcftttbPnjMPbcjPMPbP
|
||||||
|
mdZQmvssFdqsFZvsZQmvDvmWzgQBWTRzTzHlppWRglHBQh
|
||||||
|
VWmnfQWzWWnHWMfmmMVNMfWjtBtBNSNSrlStlpjJBBlgBS
|
||||||
|
cZZvbwsZsbbZvvscCRdFTTTQrBStdBJgSdhjgBjBjJjpJJ
|
||||||
|
wCFTCbZbFwwCTvFTwsPGccMzMDWVWfzLGmqHnnDHGLQL
|
||||||
|
sNQQHbbhdlpdrQllqpsqSpGjZDZGgDnVcnjjnnDZ
|
||||||
|
WWRLGFvJBJPvzzWjnTncDVZTTPgDff
|
||||||
|
FLRLGRFRJLBWJmJzMRLCvldrMrbbltdhQQlNqtMbsb
|
||||||
|
HZllwlZSlSZwhvmQjcZhTqcT
|
||||||
|
sPzzdgpszpzsBdvvMccvcqPThjhM
|
||||||
|
JDdsDspLzsdzBgVdBGBzCLlwbbwWSnlnnWffHwJcNlHw
|
||||||
|
nzCTCnpqJqfCnvvjZjWjPcZrmcmZfW
|
||||||
|
GNdwgVjwRdRglMrPWLPWZWcNWW
|
||||||
|
dVblgtRwQgSGVBldbQBbBRJnQJTsJHTqnzzJFpjvHnnn
|
||||||
|
dqpQQrdqQpLfqcGSdggQdgRMmwHBMMBVNRNDFFBDBgNt
|
||||||
|
vTzsnZCnlCnshbPlvZJbBzVmmVRDNwtHFBwMDVBR
|
||||||
|
lJCshjTJbVqfVdjjjG
|
||||||
|
WlLCJlHLcZcJWcWZJnLHnPqlFtSthTnFNThVtNhVhvNVzVtF
|
||||||
|
QfbgRsspfDRsgfjqqRRpDbSNSTFzBbTbhttVBhVNBzzT
|
||||||
|
fwgfRdpdfQDqgPHHZJZCcdGddH
|
||||||
|
sbrbmVmfddzJntZZtwtMMf
|
||||||
|
PvhwPRlvvWhFvSRhpFMMJGMFppnBTBGJ
|
||||||
|
RPlCCLDPDClwHbrdzsdNLzgs
|
||||||
|
HZgqtgbqRZvzwzCh
|
||||||
|
BFqmGfrNLQfhzJWBhRJwJR
|
||||||
|
LFqFQjrcrcqFNMmMdHggntDPMnsDbn
|
||||||
|
NmWmPblGnnTTNlFGPmNWfwdchdlHdBdwcfCfZppZ
|
||||||
|
rzqzRjgVrJrzzcFdqdCBFBhZhH
|
||||||
|
VDRsRMjRJJrQsJPTGFNvsbnsnLGm
|
||||||
|
nrbrBLTffjNRzGQSJHJQGT
|
||||||
|
tcZqMcppCmHRQPGGCG
|
||||||
|
pMDcZhpgcpFDfrwNDDrLVjGj
|
||||||
|
LWlmlmWqvrBMWWBlmjLThBrfPJZfZZCwPCJJwPCTcggCsd
|
||||||
|
pSbRHbzpHDVFRQRfPdfnZswgcJcppp
|
||||||
|
SzRNGbzSWNPLWqLv
|
||||||
|
vqslblpspsvqBFSqcrrZZDdTfFPHccrf
|
||||||
|
GWRhWmjwhRcQdCDrPjDP
|
||||||
|
mcWLVnnWJgGRzVSsVSpSSptNpMvb
|
||||||
|
wHTPfdTvHlPHGpdvvTddGfcJLLWWwWWcCWrqrVMWCVLL
|
||||||
|
zhsSNZhnshNSnvZmvsCWWSLrVMcrSCLWJcrq
|
||||||
|
snDnshmNsjnTdHPfDGvdDT
|
||||||
|
CfrnFFMnnsRNrNCwFCrdssgqgqvVZvZqlTWBNWZqlJBW
|
||||||
|
htDhDLhwPWWBqTghgB
|
||||||
|
DPLPzHDtSPStjLGLtzSMwbdMdnCHrRdCFsmfnR
|
||||||
|
nBNWCvJmVPNnCPNDJWbtmSwqTttcQsSqtqTjQQ
|
||||||
|
pMflzLlffRRMRdFlflpLddGdsTjwHqzcvwTqtsStQQjtwwsQ
|
||||||
|
ZhGlphlpvvLLfFGvMLhfrfWNJNNPVPbnPhnDgDbDDNbJ
|
||||||
|
ZCpCmVlZvlpBBwvvMCrJhrfhMfjjWMSG
|
||||||
|
qhstFzFFqzHGzNfSMJSGzM
|
||||||
|
QnHRPRgRQPtPhtnDsqsbDQPBlTcpBwmVmTvbwdwBTVZVpl
|
||||||
|
PHmqHdddqBWMmTvMvTGMBWPdwhssnnHlhgsNwhwNHQzwrswh
|
||||||
|
cSbVcDLtbfLSFzhlhJswgtrsww
|
||||||
|
bSLlFLFFLDZVLpZVjFLdPMdBBqGGPmmqWGdGjM
|
||||||
|
FQCnQwFRbnrSfgQgwFRCnswmPLpMppPdMMllpLMptMLldPSZ
|
||||||
|
cJhhJcJVBJjhfHDvJqThvVDcpdGGqdZGdlltpqWdMqpdGWtG
|
||||||
|
HhzTjJBzJTvNJHvzvvNBzBFnFCNCbCwrbnRbgRwfwQsg
|
||||||
|
jRzDgbDDQDgVqqDGsjttNdwqNJZNwNdTWrpB
|
||||||
|
MHvvvlSHFllMhhMrpWBJtlWdpJrTwZ
|
||||||
|
mFcFFHmCmtcvfvFFHHLDGnRVzjDgnmgmnzGgGg
|
||||||
|
JJhDpDdmsJJdgmhrpPjGjFLPPSNpjL
|
||||||
|
WbznbRGnPfrfRSrN
|
||||||
|
WqGnnVGVMGHtWTCgJvZHggBggZCg
|
||||||
|
wlrPQtZQvwrzlvNfZLMZBjbbqjqLbSBjTg
|
||||||
|
PGJDVdsdhsPVPjbTcLcGLgjqbM
|
||||||
|
VPDRHWRdsRQvpfmmlw
|
||||||
|
pvTZTSpTZvGGphNvvbDpdrMqrjlWdPqqjWdldNrd
|
||||||
|
gmmJmsQfJgcRQJQJJncVQjMWllSnqljqBlPPjPHHHH
|
||||||
|
QVJQRVcwmJcchwpSZLwGbSZZ
|
||||||
|
zjrDMWcjDzQjDlWrnqqRBRNhBJRBhBJqnf
|
||||||
|
TTGPPdgGLwdHGwGPTgLbbvhHtRRNRRSfchqRvSqHRJ
|
||||||
|
TZTccPpdZwPQjllsspjVzD
|
||||||
|
jHLHhHFRjhcblDRRWbWTdtppLTntTnMmGLMvTp
|
||||||
|
BBQBgBBCrrgqJqTtMZMpngdtpvpG
|
||||||
|
QJJJQrsVsQQfQVPCNqsNSjHdhhdRHDNHFHFclh
|
||||||
|
RbCLnvdtnLRLRbmLPpHdQCvmNJpJSZSJlgDzglGlzcclcDGD
|
||||||
|
qBBwMjfsFMjsMbfWbwjlzDZlcWclJczgNDGNDl
|
||||||
|
wqjhrwwhhCvbQPrRnC
|
||||||
|
vpWDDDWZQQNGllwHlwWVGj
|
||||||
|
LCPdqdcdtsvdsCtsddvmVrVjjrBwHlmswmBnmw
|
||||||
|
fLfvSgvMfdCPqzZNThfNNpTJJQ
|
||||||
|
CVVVLbNVmGNQbGbGHHbHbvdwgQlwJDTFgJQdDZDJFD
|
||||||
|
ssWBsBWrjSzWrPtBjnSCTwvFZlDjwZDdgwTDwggv
|
||||||
|
nntPBqBrPsBfnCRCBWzCVcGVHMLNcbHLNmHqGphp
|
||||||
|
sbbwwzdsbqQQbQnnNbPNGbznHHRdLTggMVHFVvRZTRVRHMZF
|
||||||
|
mWffDWfflBpfmcWjWrrJVvgRLlMZVVhMFFTlHhMM
|
||||||
|
rJJCctmjcfvzsqsqbtbqPP
|
||||||
|
HGWjHWzVctQVcJVtjvRsvLTddqDDDsjRLg
|
||||||
|
bbMnlNChZQLZhdDs
|
||||||
|
SMMMMMMNmMllSlrmCczGcVzBcGWFBQGcrt
|
||||||
|
VwQlqcLfdLGqdqDjjgZrjZBdttjd
|
||||||
|
zSPPPJzJGjJjZrCBDt
|
||||||
|
WMTMsTWsccsvGGwH
|
||||||
|
hZvbQrjTTZjZcjWNrjnQrcTRpGMqcRfRRGzHfHfpfRMqRz
|
||||||
|
mDJlFmwCVVwbCVbPBRLMMLpRLwRLHqpR
|
||||||
|
gsCmgJsPDCtCVlvbhgQjhgQbnQbd
|
||||||
|
fSgbhhGPGJGhRDmlhhHcHDBH
|
||||||
|
LsMwQWFswsQMsQMvjslcBcDldBTWfDcHRRdl
|
||||||
|
ZpVFwLQwVLQvCVsMjrJbbCNPbzSJtPbPPf
|
||||||
|
VDzWMCpfCcCRDzqDzqNnvLZnfntHQnPPLQlt
|
||||||
|
sJmdbTBdmmGhFhhbJNNQlJnQlQLHPZNn
|
||||||
|
sdwmwsdrmMRpDRMLcw
|
||||||
|
JpWmSWpCnCbJBZHZVldbdfZf
|
||||||
|
rgdrgNdrjgNPrMjwTssrPdfDZqsVfQHDFlQDDHQVsZfB
|
||||||
|
TRPdNNLgjNwrRTrJpppzCmzmCLSnvS
|
||||||
|
QbtQJHQmbmfmBRvbQRzBvldqcFljsGcFdGdvsqqGls
|
||||||
|
ChCPWhDhWZWJVnZpCNChhVDcMcDdcdgGscjgFjGFlsjjGq
|
||||||
|
WZNTWNhNZfJJbTJTmR
|
||||||
|
CHGCHFcZvCrchrZrhsVtsBQjMstfZMMBgg
|
||||||
|
NNqwDLmDjJgQBmVQ
|
||||||
|
wdWLLTgWRTWcCcbrHCHhGW
|
||||||
|
bTZZvNjNjLgTCHcWhccfhWJdhvnc
|
||||||
|
mnFFmPGSwRPShzVPPWPdhhzr
|
||||||
|
FRtBFGBMFQFttRwtZgTjCTnQNbNLjTCH
|
||||||
|
bJSqrSpDJbSNbFjSFCfPWGcwGWPrcTCfwr
|
||||||
|
tRtLhDsvhQZlHRhRtQQnCnCcdwCPwTwdGcGP
|
||||||
|
HsHvsmBZvmvsmBhHvLssVqDSNgFMDzgbbDVJzbpMVq
|
||||||
|
nSSDHRRRQRBCLCQC
|
||||||
|
qGmfPzGmGlrrrpfrqlzrJtLvBlhQbSCvbtCtlFhLFC
|
||||||
|
zzpmqqJJVVfJfPfMpfdHNndsNwDSMSDDNcsc
|
||||||
|
CscQsVMhCsMsMHhhVthtwmgZNRqzWLBRLRLmBWmZWBND
|
||||||
|
JQJdddrjrLqBgDBq
|
||||||
|
QbFlTffpMbMnsPCh
|
||||||
|
gDdbVbVDddDfVfWQfBRLQZsZLRQQ
|
||||||
|
FCCTrGCMStwGHTtTWLQhLZrlRssRhRhp
|
||||||
|
FSHqtFTmFwmCsSwGTHtMTSdjjcdnVddgzmbVmjmndbbD
|
||||||
|
JtBBMcLWLdfFLhMttcWWhfWLrTRGFsbwTmRGwmwbbCTGGsbD
|
||||||
|
PzQpSQQQvzVvpzHqjvNvQSvGRmmTDVRDmsGsRGsrcDcDGC
|
||||||
|
cQPHSPvPvZHqcZjzpZjnZNtWlLdtldJWfnfhlJJtLdMg
|
||||||
|
nPPssTBnMJPdtHPVHtRhpv
|
||||||
|
bSSgGFWDgWwDFFlmWlcShqdpRqpVcHvvnqpvpRHd
|
||||||
|
bGFnGljgSsjBCTBszz
|
|
@ -0,0 +1,6 @@
|
||||||
|
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||||
|
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||||
|
PmmdzqPrVvPwwTWBwg
|
||||||
|
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||||
|
ttgJtRGJQctTZtZT
|
||||||
|
CrZsJsPPZsGzwwsLwLmpwMDw
|
|
@ -0,0 +1,100 @@
|
||||||
|
use std::env;
|
||||||
|
use std::fs::File;
|
||||||
|
use std::io::{self, prelude::*, BufReader};
|
||||||
|
|
||||||
|
fn main() -> io::Result<()> {
|
||||||
|
// Usage: cargo run -- <input file>
|
||||||
|
let args: Vec<String> = env::args().collect();
|
||||||
|
if args.len() != 2 {
|
||||||
|
println!("Usage: {} <file>", args[0]);
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
|
let file = File::open(&args[1])?;
|
||||||
|
let reader = BufReader::new(file);
|
||||||
|
|
||||||
|
// Could use lines().collect() directly for a Vec<Result<String, Error>>
|
||||||
|
let lines: Vec<String> = reader.lines().map(|l| l.expect("Could not parse line")).collect();
|
||||||
|
|
||||||
|
part1(&lines).unwrap();
|
||||||
|
part2(&lines).unwrap();
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part1(lines: &Vec<String>) -> io::Result<()> {
|
||||||
|
// All misplaced characters, one char per line of input
|
||||||
|
let mut misplaced = "".to_string();
|
||||||
|
|
||||||
|
for line in lines {
|
||||||
|
let (left, right) = line.split_at(line.len() / 2);
|
||||||
|
|
||||||
|
// Find the character that occurs in both halves
|
||||||
|
for c in left.chars() {
|
||||||
|
if right.contains(c) {
|
||||||
|
// The character exists in both halves.
|
||||||
|
misplaced.push(c);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("== Part 1 ==");
|
||||||
|
println!("Misplaced characters: {}", misplaced);
|
||||||
|
|
||||||
|
let score = find_score(misplaced);
|
||||||
|
|
||||||
|
println!("Score: {}\n", score);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part2(lines: &Vec<String>) -> io::Result<()> {
|
||||||
|
let mut badges = "".to_string();
|
||||||
|
|
||||||
|
let mut chunk = Vec::new();
|
||||||
|
for line in lines {
|
||||||
|
let line = line;
|
||||||
|
chunk.push(line);
|
||||||
|
|
||||||
|
// After reading 3 lines, find the recurring character and clear the chunk
|
||||||
|
if chunk.len() == 3 {
|
||||||
|
for c in chunk[0].chars() {
|
||||||
|
if chunk[1].contains(c) && chunk[2].contains(c) {
|
||||||
|
// The character exists in all 3 lines.
|
||||||
|
badges.push(c);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
chunk = Vec::new();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("== Part 2 ==");
|
||||||
|
println!("Badges: {}", badges);
|
||||||
|
|
||||||
|
let score = find_score(badges);
|
||||||
|
|
||||||
|
println!("Score: {}\n", score);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn find_score(badges: String) -> u32 {
|
||||||
|
// Returns the sum of points.
|
||||||
|
// Lower case letters are mapped a-z -> 1-26
|
||||||
|
// Upper case letters are mapped A-Z -> 27-52
|
||||||
|
|
||||||
|
let mut score = 0;
|
||||||
|
|
||||||
|
for c in badges.chars() {
|
||||||
|
if c.is_uppercase() {
|
||||||
|
score += (c as u8 - b'A') as u32 + 27;
|
||||||
|
} else {
|
||||||
|
score += (c as u8 - b'a') as u32 + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
score
|
||||||
|
}
|
Loading…
Reference in New Issue