Added day 2 and 3, but didn't do them in rust like I wanted to.
This commit is contained in:
		
							
								
								
									
										300
									
								
								2022/3/data.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										300
									
								
								2022/3/data.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,300 @@
 | 
			
		||||
vGFhvGvvSdfwqhqvmCPnlFPnCNPcCFcWcr
 | 
			
		||||
ZbWZDMgsTHsrNNLJcJnsJl
 | 
			
		||||
HbBWQgZVZZBzbgZphwjqpmmVfdGmjG
 | 
			
		||||
vvCJLGnthChvtrvCCnRbTRqRPRBtbTRfPRRl
 | 
			
		||||
djZSgHNNwjqcdWlbcbfc
 | 
			
		||||
pFgMSfpMfzMDZFSgSjGJQQnCvMCVLnnJQLGC
 | 
			
		||||
gVhQWQpcWZVwwHVvFvnnnnDFdL
 | 
			
		||||
lzbPlztjltztzSjfGcPdTHLTHFCnnHCLndFGGd
 | 
			
		||||
jsNbzbczclttSlfbqlljRQMJRMMpJwRZhspZgJRM
 | 
			
		||||
hLJvfGcNDttSGvJtvSSJcqbqFBBWbjQqDrqbjDDjjb
 | 
			
		||||
lTswlzZdssgFpdPwZpMQnCjngCCjWBQBWWQqng
 | 
			
		||||
PRZMpzPZTdVZTfJvFvLFRctJcf
 | 
			
		||||
JHbQtHVHHLLbTJmmZddgdgwhllMNhhhTgg
 | 
			
		||||
spqpNGDjDPMhCFChMj
 | 
			
		||||
DBSDDGnpSDsDWqWczcvSqWvsBtJJLLZrRVZLJRbBZNVrBHrV
 | 
			
		||||
GwGhfhPhpHccvwSwrTsmsCjDmqTfbDqjss
 | 
			
		||||
tQntQcNRJMFnnVQFFctJqCsRmsTjjbDqDlTqTbWT
 | 
			
		||||
NZdVBZZNFzMFNNNvGprZcLGPGrrpcP
 | 
			
		||||
SvCPLrrlCSvZLrCPPBNPRvNLQBbpmbdggQTTfpfQgpgTqbbb
 | 
			
		||||
HVjHwMVwWtdMGwtwMwdhDFgbJgJqTmFMfFfmmfTTpq
 | 
			
		||||
whtHVcjDtHWtsWdwVGVHthDPzRrNSsCRLrLRlZNzZSNzNR
 | 
			
		||||
rjrlCCBtbtntwPPt
 | 
			
		||||
FvfJHqBJQWWgWgWLwnMwMLbzvhwTTp
 | 
			
		||||
WqHgWqBFgGfQgHfVdQFfVfrDllSsRSDmVmRCZZmSSSSZ
 | 
			
		||||
gjnppCgGHNPrqqmFnnbr
 | 
			
		||||
tGltVlJRtLRlrqcJcqZDqBJc
 | 
			
		||||
VvhLlvWltWdVltRTLTfgwSjGNHhggQNQNjps
 | 
			
		||||
HDWjCNfQjmwgWhcwPPVbZGcpMb
 | 
			
		||||
sFltFBRRSRJBSSsBlSSnRLPZbVGMVPZpMpPZpcMrFZMc
 | 
			
		||||
BLTBsstlqBRRBSvJJBsHdgdDNHCQHvbdCjQNNW
 | 
			
		||||
lRGzWLZNFwJVbVVGcJ
 | 
			
		||||
HqqpjPvHQnJgVgTnbdTV
 | 
			
		||||
rVvjBQHQrQhCrzlzWrRlDZ
 | 
			
		||||
jZjTZRSjZnhGZhzGnG
 | 
			
		||||
HbnPHrCbBDMnhcrVLWWLLWWg
 | 
			
		||||
MBwbCNDDptwNMttjdSnsqSRSFFdjtj
 | 
			
		||||
bSfvcsNsDdccHHQm
 | 
			
		||||
ljrlplvBhDHDHHHHJl
 | 
			
		||||
jgpzhrzRrvhFRFrzFnWfZtTwSWZPbbqNbsTqsW
 | 
			
		||||
vvCTvcDzHcgtvWjvcDcvgBCgwTdPFPpwpwmTSwwmdPwZpfZh
 | 
			
		||||
rNLMNVqLGNrVsRNJNsPnGnnfnpSFGdfddndd
 | 
			
		||||
VPQsMbVsPbzzvgCzgv
 | 
			
		||||
wPsrqprHQQZsChZn
 | 
			
		||||
cjgFLwWDlDltfLmTCnmWCnZZChCQ
 | 
			
		||||
FccccSLGFwjVlfVLLtgdSPSpMpBMdMBRRdHdBp
 | 
			
		||||
mQQcpmCCprrfLQqZVGqLGv
 | 
			
		||||
PtsJdsMtTTTvFqLTnnqbGZ
 | 
			
		||||
HjldthsHWztJzstZhBcHDDgpNpCpmrpgSD
 | 
			
		||||
lCmhDljDJgWggcnh
 | 
			
		||||
LdQrbdTDQGfGLPdqqFrHwRJcWRHgHBWHBJ
 | 
			
		||||
sLqsGtDqdGQfSTsqtfqqVMzjCzlvllZljNpCsMMl
 | 
			
		||||
CfLCZCCqqHlhSSrrtpRjpL
 | 
			
		||||
mWQbnQZVTWwNdwmDSbpbrFptjDrjRj
 | 
			
		||||
PJWVnTWPVnnclqqBsCCZHP
 | 
			
		||||
tqvtbNCgqJSgZgZvSncrrcGjBGhcnVcR
 | 
			
		||||
DswGQQQdRcjBnRDn
 | 
			
		||||
sMdlFMQQpfZbvlNtZGgN
 | 
			
		||||
RMlPllHtrlrlcZLsZfLcfwdDGD
 | 
			
		||||
QppnQhTBgwQDJsGzLQ
 | 
			
		||||
gTjnmjvphDSNMbtMbtMRHNVr
 | 
			
		||||
RHHcChrVVChCWQmRnMZmnmbTbGmFnqTT
 | 
			
		||||
gpzpfpszDwvDDNdwjdstnSMMHGMqvZnFTTZqbq
 | 
			
		||||
DsDdpfppwHsgJdjzfdDjdssLPlRccPQQrJcchPQWWQRhlQcr
 | 
			
		||||
rsrjQjnRnQZZqMmMMVqs
 | 
			
		||||
WTSTdvJLvTGJTGCMGvzBBpVVqqFVzBzVmf
 | 
			
		||||
tTSJhGLJbJhLJRRbHPQbnHHMrl
 | 
			
		||||
GGgMgBJHWHhLWMhWhgfrhgWLzmsmlzTtzHmsmlszRtszRVlT
 | 
			
		||||
bvScppfcQfcQSFCQpnPqwwTdRTvmzVssvswtddsv
 | 
			
		||||
ZDpqnPbQbPPnQbFbfSPSqbQJhGrjgMZBhWLrLrBBBBJWhg
 | 
			
		||||
hQCCGCNhDmGFJsTt
 | 
			
		||||
fcggBBpvBSrtsRTpRmpD
 | 
			
		||||
wflWlBlfnvfWWgMNPPLhPnzhPmLQ
 | 
			
		||||
pcGGTvVpcQLLzSPPPpVBVQwngNqgsJqgJgqSngsJMqJg
 | 
			
		||||
RZDFGhtCDGmWfWsNdwJhnMgwswqJ
 | 
			
		||||
ZCGjRGjZllFGHvvcTPjPTQpB
 | 
			
		||||
FDVsWrFZnnnfNRJdgBBBMLsJLH
 | 
			
		||||
wcThcTphvCThwTlblpzwGlpLRgHJWLgHLBHdHWJLBLWR
 | 
			
		||||
mwcbPmClwlzlwvvbTmWbQSjZmZSrDnSNVZfVFnZf
 | 
			
		||||
tMlttlFRSrcSFcwQSRwSzrMMPPGGPGLWgNfTNTcLPNPGBPPG
 | 
			
		||||
pbZVCDTqnCjVDHnHVnhBPBBbhBhbhgLgmWLh
 | 
			
		||||
qZCJZJqqjjCVvvRQltlzTrJtMMMw
 | 
			
		||||
QvvdBDdMbdFFJrMMjjmjCfCntC
 | 
			
		||||
lHTPsNLPcfVZLnfj
 | 
			
		||||
GgsWpHPpTPWpNsGvgdnDbQRQFRbdQg
 | 
			
		||||
jPNwllsVZjhslSjwGShZMdJDmmdmWLtMDDPHMPFd
 | 
			
		||||
QbvpDrbBrtMbbHJmcH
 | 
			
		||||
vznvzBRpBprQBqQZjNswwZDnSlGjZl
 | 
			
		||||
PdNTzLQPLrVMzGcMtt
 | 
			
		||||
FsSvDrvmrwDggHGwgV
 | 
			
		||||
vlpZpZmfnmFTlTWJWdbrdh
 | 
			
		||||
mZmnggMTSJrrmnrbmTbngJMtwPvwzzRvPGhQdGZPGPLvGvRd
 | 
			
		||||
FFVBNHVlFlDfCsWwLwPzzhGPCvzhQv
 | 
			
		||||
qBHLsDcfqFfDDfsFLNcNNBFsrgpMpnJSbnmTnrtmbMSqnpnr
 | 
			
		||||
qjBNwBPNPspqddssbsTsMDhTDrThQb
 | 
			
		||||
gvzZSZzFbgHnrHmn
 | 
			
		||||
fcvfZcRSZFGfZcvFbGttcPfpVjWVwqBqdwNdwNNpqV
 | 
			
		||||
RrTmtTrqznrnRCSqJrWlWDbhWVnfVDVWdclV
 | 
			
		||||
QBBgHQGvHHQswLHQQLGLHdLhfhlZZFlsscVDZfWfDhVlZZ
 | 
			
		||||
dLBMPpGPjLHPHPBHjjgQjHQztSJRztmrNCSCmSpmprrrrz
 | 
			
		||||
HHWJgjjsJrPBWBjgWgDvbbvtbNDNVtttMPPp
 | 
			
		||||
SnLTlhhNSntRVVLFVbbb
 | 
			
		||||
ChqdcNTNqqJCrQrQrrBC
 | 
			
		||||
BvfLLngFLDrrlDFDDnGmGlmzqzdGqMMWWwWW
 | 
			
		||||
RVsPbsbVZbjctccCcsCSPmdNqMqMWddwqVzhhNHwHd
 | 
			
		||||
tcsjPZRctZTSbbtSbtsSjZznnJfJBrfJgLvJJDDBvpTrgp
 | 
			
		||||
LJJsNdtJQtbWRJQttjGhjVnjcnzcsczGqj
 | 
			
		||||
MDPPlvCwrTlZfMMvTlPTdVcVhVVjchSBrjccSnnq
 | 
			
		||||
lgZCvTTZfMgHLptdRgmR
 | 
			
		||||
gCDrJRNgJDZRCwMgqGbtVVjTjlFbbTtR
 | 
			
		||||
mccnfcnSQScdvdcQQQpWdnWSjPqTbFFlbPqbPVGNjTPjtN
 | 
			
		||||
NnzmpWmBBzzpzDgwhDghrZrw
 | 
			
		||||
wcbVDBQwVBFQLFQDQcqQcLcJfpHJjmljGgMHfcfgGgjf
 | 
			
		||||
PtnWMtSnlgJmWWmm
 | 
			
		||||
nThPtRnzntstvrtRPqDFLMLdDwBBFLQDBT
 | 
			
		||||
zshqnVqTwqHqZQgZDSZjpFjFFF
 | 
			
		||||
PsBRvttdcgFFBSmc
 | 
			
		||||
GlPsbLtrvrrrtJlCTnVTlwwfnhwVqH
 | 
			
		||||
CvVVnFwWZnZwJZMNlCMNMpbMrrQG
 | 
			
		||||
cpghqzqqtzbGMjTNclGN
 | 
			
		||||
PqLBsgqBsSfBffShVmvRVwWsFpwZVpsn
 | 
			
		||||
LzsLSScvscqNdGdgddQjCDbzhpCDbRbhDpDDwDwt
 | 
			
		||||
ZlMBBBnlMFVFHVMJflJjJBfhRnCbCDpRttRPDCbWpCRbpW
 | 
			
		||||
mlrFmJrmscNGmsjm
 | 
			
		||||
FqQjLRjfvTFvlPHHNPMBDDNDPR
 | 
			
		||||
chWptpcWTzBPMsMMMBHW
 | 
			
		||||
zcJghwJZpZcgnctccdzzpGQrbQbblFFlTCCFTbdCFCFq
 | 
			
		||||
QcwNpCcQzpwtCGPPPnrGrfHfvN
 | 
			
		||||
FgjhhhjMVFVjqRRqDBVBqvMZvdrHnPZWZvsnZHdWnv
 | 
			
		||||
ShBFhDVghhTBgBBFRRgRCmCPCcpPbwCmLTcCmbpb
 | 
			
		||||
ZzlzsBzZnWnsBhFRvfvvLfWqfvMv
 | 
			
		||||
GgQGjjddHHPwpHpTGjPdHMvtvwJqLtJRFlRFRqMwLc
 | 
			
		||||
dgbbdjpGGgTHGGgQgdpmpgblrBrhrhCBSSznChsVhBsmNB
 | 
			
		||||
PhSwPdnpsmSWWcjjDFNqnc
 | 
			
		||||
GJGCTLbTZTrlfflVLFchHDHHDFcVVN
 | 
			
		||||
RhlhrllQZhCsPvRBvMtSvw
 | 
			
		||||
GVgnrgTWGVGjLVjWSpvvNmPTmpQmzvhf
 | 
			
		||||
tBbBDsFtszzSSbPZbh
 | 
			
		||||
BqlqdcqSJtFMdMjWrnGCWRrWGG
 | 
			
		||||
sJVJsQhMhPPSQMwdHRmmsmmwRmsr
 | 
			
		||||
zLFjLDTBFNWWwrqrffldlRdFRq
 | 
			
		||||
BLjzjTpzLpzWGTbQpMJvVMQwQhhMQM
 | 
			
		||||
RqSztDRhJDLmRMLlfvsP
 | 
			
		||||
dMdMMHZCsnbdvmbP
 | 
			
		||||
VHcZVVcZTwTQpgHQcgFMFBpDDzBqqqDhqJSjSjJjSD
 | 
			
		||||
rdMnMGjdHhfnjqWWDJPpGWPtvW
 | 
			
		||||
PTBSQSSzZSBSCzQFFSlZTFSvcZpWWcJvtJppvZpLLcDVcv
 | 
			
		||||
sgQCsBmmlFCPFFzTgTBgdNnrNndnMrrrfbrNjf
 | 
			
		||||
bpZdggTjHbgLglpHjldvHpjdhTVzmhzzzFPzmhFsFQSFnhhN
 | 
			
		||||
rPCDBcCCMPGcWDNNWQzQQSNQnNzQ
 | 
			
		||||
fCCJtDtGGGfGBtGqBrrcfRBcvPwpLgdZZvHdljvqpvdwbpvl
 | 
			
		||||
qpmsNldnlHlCqQlHsHNHwJpJMtwvvvjMvfWjpDtt
 | 
			
		||||
TccVBScrzBzzTGPbVTPQhWjfMjwwRtJtjMtWDWWfDS
 | 
			
		||||
FQFbzBGczGBFLnFmmqsCLg
 | 
			
		||||
qpblblvpvJzStJDrhrnGrdhDfFqf
 | 
			
		||||
ggNQNwBgmTcgCBTBTQQjNfDCnZRRRrRGCnrFfdnhrC
 | 
			
		||||
mjVFHQTHNjTwcmpzJzHltltbSssS
 | 
			
		||||
WChWmdcmzndhFcZrrbvrVMVssj
 | 
			
		||||
NQLDlDplpSJGpLfRRMZVBBGjVsGbbjbBZsGv
 | 
			
		||||
QNDfNqlpLgSfNfNgNfpgpqwndwWwnCCnnTFMdHndzn
 | 
			
		||||
ZGRPTngTZMSGMGnhSgRjQHsPbqjmsWHQCQWbNN
 | 
			
		||||
BFLLfpzVDBfDdlfQcsbVcNmQsqqbcC
 | 
			
		||||
zFvdplLDLtzFmrrwMMtTrShZ
 | 
			
		||||
nTdmnVCGqTsSBTqv
 | 
			
		||||
HlMPwMlHfPSfBBmFBfSL
 | 
			
		||||
trHHwRHRwMHPMJQJHnDhbdRhdpCZmChNnd
 | 
			
		||||
lwHWjzplvHqWHGsMLsLwLfgdfLdg
 | 
			
		||||
tPJNPQmQmSGcTtFmctGmSCBgsBBRbLBRVdLVLCBBLgVf
 | 
			
		||||
FPtTPQNPrPPQctTcNPSQJJPDjlzplnGDDjWWplWHhGvpnr
 | 
			
		||||
jwvvDbvsRsrrjrfvfrrZsPpCpmPJJPqlqWmzRJRTqq
 | 
			
		||||
HdLttdSQHdLHMMtNdLMSTtHpCmPplWhCzmzmPWlJhlNplP
 | 
			
		||||
BTSLtLLQtnVZDnffbwfw
 | 
			
		||||
snvQdrtrQprWpgmGLp
 | 
			
		||||
FhzwlwHccBcljFBSDmHmLpgRmPDCffWL
 | 
			
		||||
zFhllqjczzwJqqSqlZMsvJgVNMTbssVNnQbb
 | 
			
		||||
dLZHrWjWPFZWZnPjZttjddFnMDVMGJMQqvMVGVRVpjVpGVvv
 | 
			
		||||
zhzTwTlfTwCsShSgNhfzsQQqvMQStQMDGJJGvGQVvq
 | 
			
		||||
TTwCBfsfBwhzwTBCzlmHZdLmBBbtLnLbFnnF
 | 
			
		||||
BhBRLFmlBlmhgShHmhSlZlFgvbQNwvcsvMCcsQCwNQvNMsBw
 | 
			
		||||
ttWddDjrfjDcssscDbvH
 | 
			
		||||
jfjfPWdzdfjdnWpjtrzqnhmJGJFhSJRHSmSmlqlHmq
 | 
			
		||||
QvJTgvsvghHRHHNbZvNZTRSzBBCLrDqzrfDDtJSqSLBC
 | 
			
		||||
cPPwdcFFPDwfFrBrFfFfrC
 | 
			
		||||
nppwdplpRvllsgDH
 | 
			
		||||
BGLLWLLwHVZwHnNhwsMsrqMqhh
 | 
			
		||||
STlTpDpmjzmjjjgccqdsbNbBhlNnNMhsqs
 | 
			
		||||
pjmgjfSDSzmSgFzRZQfRRZLBVLVtZZ
 | 
			
		||||
WHjddztMtVLNNFFTmbFPFPRw
 | 
			
		||||
bJnvpQfqccQJZfpcbvCphcFGDPFGRwDGDDGwGsmPFnPF
 | 
			
		||||
rvffQJZJqrpZCJZJQrQpvBvStlSWSzVSWBbzBLzjtjWWWj
 | 
			
		||||
SJFMSMGSDLTsFgHvHL
 | 
			
		||||
mNzRrRRzjzqqgPHvLTHjlvWg
 | 
			
		||||
ZLbRpRnRnCrbmnmrRRNnwbGfMwDwfDDdSVMdVJdd
 | 
			
		||||
nsqTbhcDssPsPWsnchPJMSTSMmJMwTSTCJJfJw
 | 
			
		||||
DHvFvvdHpvpGFHDMVVJVplCCVpggCl
 | 
			
		||||
RdQjtvHtDQNGsZqzcqPqbNcq
 | 
			
		||||
GFzRjczzQJnLjJvvTj
 | 
			
		||||
mSfHrNHDzHDrDSSSBvTZLTNqWJWBWLlv
 | 
			
		||||
PfgCmfPzDVrtHsddVMsRFcVFQM
 | 
			
		||||
sfBgfBfBsHBHFGhsqfjgQZtQQMdZgbZQptbM
 | 
			
		||||
rNLRSzRTrrvvLSTWGpjpNZdQPtGtMdNM
 | 
			
		||||
wvSWLwzTGTCcwwwJwvwcrcRcVfFBqhhVhDqhBllBfFqBCDCs
 | 
			
		||||
LbTpDTcMTSzzMLhScnDnSppNQwVNZFBVnFsrwQQZrQrQrN
 | 
			
		||||
tJtJCRlGWljGWCtjJZVPsJBsVwQmrQNN
 | 
			
		||||
fvHRftqjGfWGwtfGqvLTzDTzzzchSbMDTd
 | 
			
		||||
JJhWZlhqLDHtBDrqrB
 | 
			
		||||
bwwmfrSmbmFjVSFQwSdpDvGdpPnRvDtHpGtGPG
 | 
			
		||||
VgFfcSQfFgmLLrNThllTZc
 | 
			
		||||
QmfvrpnvrrJGnBSCFTBMSWFS
 | 
			
		||||
NVMggbVPzCTgDFDD
 | 
			
		||||
NRqHRZjVRZdRVdZwNPrMrchGhGpcGfvhQlHJ
 | 
			
		||||
nlBdCldndlZTttSSBBccPfGWLLHcTTcWPbbW
 | 
			
		||||
jpsFzFmzDzNzDGChGcGGmPQHQf
 | 
			
		||||
CNzqvvVJNFqvgRtlqRtdnwSZ
 | 
			
		||||
MJtDbNHDDpmVPJVzzjLm
 | 
			
		||||
RslhvlfRTWvWWRwfllSZngmggznjSPznLjmSnz
 | 
			
		||||
TlhffRwWQhChDqbBQLFHqNrb
 | 
			
		||||
HWnmSbzflWltlzLfWWDzjMBvCjjCTCgcMvzBBB
 | 
			
		||||
qRRRZJwhZFGdRNfghVjMVVgfcghC
 | 
			
		||||
QFFqwNNNwdNZZpqqZfnDSHmmlDLtWtHWlQmD
 | 
			
		||||
JrFdNTTLRBTJrFVrBNdVLFBdlHbzQQsQzbPJtpbtltWsHbQw
 | 
			
		||||
gZffDfMlCfjCSqMcpHPWHszstzHjQwpb
 | 
			
		||||
GMnvfGlfvSqvcMMDgDDcfnqSVFRdmTmVdNBTdmRmBFVnLLBT
 | 
			
		||||
ZvRHtDcZntLZssMssQBrMdnC
 | 
			
		||||
jglqlVdlbqgVWjJMbrrBCpmQBBfrpm
 | 
			
		||||
GqVVPPjPNjFVllNjJjFDvzTLZRvcLRLvTGdGDv
 | 
			
		||||
fDVzvVfzzZPMsMbb
 | 
			
		||||
LHtBwLBdhFgdHLLthRwFGGMsmrHMmmbZSmqbMGGG
 | 
			
		||||
bblRwbTRlllfVQnCQn
 | 
			
		||||
fVZzjRzpzpVCRPZhVWQvvLsWWWFQlmjWmG
 | 
			
		||||
JDHgJdtwbZqJqsWBBDLlQlvLms
 | 
			
		||||
cHHtdbqwrqbbtSbTgSTcVCMRZnRRVNhVPNMPpfMc
 | 
			
		||||
fCMPBBdpMpsqMssQccnV
 | 
			
		||||
TlwGWDjDZHLjZHHlLGmnlnNcRllsJcqtsJRV
 | 
			
		||||
ZHhZHThLLrGwjDDjLwGWWWSjPpbpzrvBFBFdBBbqvCbpFfpg
 | 
			
		||||
bvDfDPtCVfFFVdWWpmLRmzWzzdBW
 | 
			
		||||
jgZTghhjrGrsswrsghHrlgTGzSRmMLwpJMSMzWLLWRzpRRSc
 | 
			
		||||
lpjTpGHlpsNGTHllHrCFnDNPtVnvfQtQtQNP
 | 
			
		||||
BwlQcwZBwwwQNqJTrrsRGCDTNt
 | 
			
		||||
bMpVPSfRvCbCtTqsCs
 | 
			
		||||
dPSRfRpPPjjmLMgZBZBLZZwFQnZn
 | 
			
		||||
TsVfggTqVnsLVTdTpmDdRhwPRtPRDRwD
 | 
			
		||||
ljHBSWZvvFWvBFPppnQPwnpmzR
 | 
			
		||||
MSHSjbBclBSjccLJgqgnLVqTbsTT
 | 
			
		||||
zncfVgRzVJgnTfVqNHvZJZNJNMpHbdvH
 | 
			
		||||
PCBpsLjPPmMGdHNdHBHZ
 | 
			
		||||
jSLlrhLPDWLrPrDCLPCfnpzcVRFcRTnlVncntT
 | 
			
		||||
ccvSgjHtRjcjSvjvSrBjzSHHwnJPbgwPPZVVVZnPpZlpwnlT
 | 
			
		||||
ffqNqGGsGWqLTNqZwdndPnnJJpZVJW
 | 
			
		||||
sNmqhsCMQsMTmjrcmrHrRj
 | 
			
		||||
gWWWzNVJDwDzVWVDGbGNnhTnHLsmhmhfsQTNSmHd
 | 
			
		||||
vtMPZvrZvqtqBHljrqSnnmTfLfdnQsjhjmhL
 | 
			
		||||
MMPZPBqZCrBtvZcrBlDbGbbbzHJCbbRwgwDz
 | 
			
		||||
hGSRhsMswhcNNGwhwncMnCqCJNrHJPJJrJtCJdqHJm
 | 
			
		||||
BgVTzWBdTfCmfCJH
 | 
			
		||||
dlbVFvvWVZhSRQDMnlhc
 | 
			
		||||
WfpzBZmgJlQVGvWF
 | 
			
		||||
wHSbrHwmccnrmrHsClGqFGbQjQjjQJQQGv
 | 
			
		||||
SHPwwsRcrrNtrNSsphmZLzpfzhghZPdD
 | 
			
		||||
DFDPRpmgbPQtmgBBQDDNJTMMBZsqsZGqGZTGCGSqWG
 | 
			
		||||
fVvVVLcJVzlvzhqfSTCsZsMGMHqq
 | 
			
		||||
zJdrrdnzcLlwczwbQmQngRDQPbtDpQ
 | 
			
		||||
HDZZrpFqwRrQfBqhjjlVlQ
 | 
			
		||||
czTgvvWPNgPGcTlsQflCVshClC
 | 
			
		||||
PgNvtSJNvGVMMzNzgGvPGGLHFDdFdmZSZRdDdRrmpFwL
 | 
			
		||||
SVHNVFVPBHJqHhgFCgzLmCwppm
 | 
			
		||||
DvDdsGZljDlfdZnjnnZGMzLpRgLfMCLmzfPLhmgp
 | 
			
		||||
jZDZlrvrZTrTrTQrDsjslHNJqtWbWHbqbPBWNVQWBJ
 | 
			
		||||
NmGGBdWWJDJTTZHm
 | 
			
		||||
hFVhcqFjncpcppSjqfppqDvzDDDbbDZvDZZbHfJgvJ
 | 
			
		||||
jrPqnnHnqSPwPGWPdWst
 | 
			
		||||
BfhbwMwbbPbHPPPlrdJjrlMJLrJVTd
 | 
			
		||||
pnQnGnWDjnJdlJCh
 | 
			
		||||
qshsWvpttzNNQDtzRRPvwfcPHBBBHwbw
 | 
			
		||||
SHzGRQjhwwhGzjjwRjfBqpqbNCqNnnqqQqPlQC
 | 
			
		||||
TZtgLmZgVmgdFgmZtdrbNqnqlNlpblnlrnBd
 | 
			
		||||
DvgmvvZgmWJJjwHHhJSzps
 | 
			
		||||
JjlrlJjPJgDjJjJnDRDjNwGGqMvSddvPvwQddqSVvq
 | 
			
		||||
SLpphFLhFZhWLzvswwWqsqVVQWdv
 | 
			
		||||
FSHtTLZpfzRDDrJgRNjT
 | 
			
		||||
wjCMvrMlqqWHvWqddrHqgnBNhcffthhVLtpgLBnw
 | 
			
		||||
GbQFZzZZphnpgNZV
 | 
			
		||||
FhFzRTDRPzsRQGQGTFlllrJHjdsJlHMqjjHr
 | 
			
		||||
LqDcTbmJcqSJSTmnrTcmJrfffplfjZsGZfGGZfQLdplj
 | 
			
		||||
hWddgBvzWFZfPsQlGh
 | 
			
		||||
RBWBRCdHtgHttVVzHBVNNNDwSTDcSSSbScDDwbwbnmRS
 | 
			
		||||
FFPzwlZVVrzFFlFLVlllZdHCHPQMnJQQbhhChdhCbb
 | 
			
		||||
BRRqGBgRfqvgvBDDDTRgghNCMMTQNNbVJMNJJdbbdT
 | 
			
		||||
DfpgjGfsRWrFVzwLcs
 | 
			
		||||
PMTSdSmFjhFpNTqvppvRBrRBrDqB
 | 
			
		||||
HnZZznJbzGZGlZtZWHlJGcGcwMvQBsrwRDQvcDgrgDgrqRvq
 | 
			
		||||
HGlGfnJZfMMCfNhm
 | 
			
		||||
nRssqlqVRppVwdMMQwFgtRFz
 | 
			
		||||
smTvLLTvvNLtwMMQNg
 | 
			
		||||
CmPGBvZGWvBSGGDmTZjZlhpJcpHDJsbDnlrrprpl
 | 
			
		||||
djcQGNQqdGdGqMCgndwgCLDMgW
 | 
			
		||||
nvBvHpBppnvPPnJTBWLJVMwVfWJfCbfWgW
 | 
			
		||||
hsHHpBsvRTHpsPszTBTTsRTslGqGqlcqlScnqmhZmmZSZSjl
 | 
			
		||||
DddBHCmfWCBTDBHTHfMpzhzpJJMJsFrGrz
 | 
			
		||||
tPVPmbnttjPnZvSvSbnmZPZPNpNGMpJNzzNrGJpvhsshMpFs
 | 
			
		||||
mwnZcbmmStbVtVjbZVlcLTBlcLCRHRDWCWWW
 | 
			
		||||
							
								
								
									
										81
									
								
								2022/3/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								2022/3/main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
#include <fstream>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
#include <set>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <vector>
 | 
			
		||||
 | 
			
		||||
int score(char c)
 | 
			
		||||
{
 | 
			
		||||
	if(c >= 'a' && c <= 'z')
 | 
			
		||||
		return (c - 'a') + 1;
 | 
			
		||||
	return (c - 'A') + 1 + 26;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	std::ifstream ifs("data.txt");
 | 
			
		||||
	if(!ifs.is_open())
 | 
			
		||||
	{
 | 
			
		||||
		std::cerr << "Missing data.txt." << std::endl;
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	unsigned long total = 0;
 | 
			
		||||
	unsigned long total_pt2 = 0;
 | 
			
		||||
 | 
			
		||||
	for(std::string line; std::getline(ifs, line); )
 | 
			
		||||
	{
 | 
			
		||||
		if(line == "")
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		const size_t half = line.size() / 2;
 | 
			
		||||
		std::string right = line.substr(half);
 | 
			
		||||
		for(int i = 0; i < half; ++i)
 | 
			
		||||
		{
 | 
			
		||||
			if(right.contains(line[i]))
 | 
			
		||||
			{
 | 
			
		||||
				total += score(line[i]);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Part 2:
 | 
			
		||||
		static std::vector<std::string> lines;
 | 
			
		||||
		lines.push_back(line);
 | 
			
		||||
		if(lines.size() == 3)
 | 
			
		||||
		{
 | 
			
		||||
			// get all letters it could be from first line
 | 
			
		||||
			std::set<char> options;
 | 
			
		||||
			for(const char c : lines[0])
 | 
			
		||||
				options.insert(c);
 | 
			
		||||
 | 
			
		||||
			// remove if not a duplicate
 | 
			
		||||
			std::set<char> to_remove;
 | 
			
		||||
			for(auto i = 1; i < 3; ++i) // remaining two lines
 | 
			
		||||
			{
 | 
			
		||||
				for(const char c : options)
 | 
			
		||||
					if(!lines[i].contains(c))
 | 
			
		||||
						to_remove.insert(c);
 | 
			
		||||
				for(const char c : to_remove)
 | 
			
		||||
					options.erase(c);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if(options.size() != 1)
 | 
			
		||||
			{
 | 
			
		||||
				std::cerr << "Error: More than one remaining option: ";
 | 
			
		||||
				for(const char c : options)
 | 
			
		||||
					std::cout << c << ",";
 | 
			
		||||
				exit(-1);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			total_pt2 += score(*(options.begin()));
 | 
			
		||||
 | 
			
		||||
			lines.clear(); // reset
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	std::cout << "    Total: " <<     total << std::endl;
 | 
			
		||||
	std::cout << "PT2 Total: " << total_pt2 << std::endl;
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user