Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
99e3a47d63 | |||
973f6b1856 | |||
7fe1a60dc2 |
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) <year> <owner>
|
Copyright (c) 2022, apio
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
300
src/input.txt
Normal file
300
src/input.txt
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
BccTFfTPTsffdDDqsq
|
||||||
|
lGGLQwFhDgWdqvhW
|
||||||
|
wbLNjGjlwLFrpSbllrHnHHRmmJVBmZJRRVcBTc
|
||||||
|
vvGLllBBLtllJnJFMZNjFcNG
|
||||||
|
bdhrhTgmhRrpLJMMNJgNffnf
|
||||||
|
qhRmTpzpzVzmTTbmVhWWWpVvDtsLVlwBVHvSsDCvvBDl
|
||||||
|
sLlhhthVRndBZzwBdV
|
||||||
|
PfmsPsqsGFqrSQpqBDDwpddDDM
|
||||||
|
mFjvSFrjPSvLJWvbRssN
|
||||||
|
gWnWQtMMDQbQvMDjjcwsvqcwsSSqZq
|
||||||
|
HzPJTtmtZJJsqfBJ
|
||||||
|
hCFPrNNPVNzFtQhdQMWRhhDd
|
||||||
|
sNhmsQZdNdsztNpHGCdjcBcwCvGvCv
|
||||||
|
brSlRfFFppHwfTpf
|
||||||
|
MbRlRpqMnqRpMhVtsQQQVWsM
|
||||||
|
HsdttdfHrHrwdhftMHMSDnJFwlQSgQZQZggZSW
|
||||||
|
LjCTqBCmmmTqgFQQFQjlnnDJ
|
||||||
|
GCTLBCmTBDBDPTTzqLCBpVcctcHbtbrcMMsdsdtcPtdb
|
||||||
|
QnJLdNLfLRQjpLlPflfQnlnswRvwsHVWVHWVVDZwWHcrwV
|
||||||
|
zFbgtqCBhtgBhsDZVDNHwvDv
|
||||||
|
zgCGCFCFGtMpJjlGTnlnLN
|
||||||
|
ZFhJZbvZVmFpFnJbnZFbLnbHPrjjQdBdCrMPQMQHrrrrVC
|
||||||
|
gTzlqmNlTflmtTRHdDPqMjHDMrjdQd
|
||||||
|
wcRSwglcNSwgWmNzwNlJZLpphbbnFhvLWhnphb
|
||||||
|
lRRrcbRfQmwwBLSLlvjjSvvFtS
|
||||||
|
WbghzhHWbsdHhVtGLVSSvLFJtSGC
|
||||||
|
WWbWzPHDqPfBqRZrmqnZ
|
||||||
|
frgLHMcHLrSZHPHcHrPNmMJtTCTCbJfhdwVbfJwwTbdd
|
||||||
|
DpDWRjQvqjDGFWhdVwQCnJgTnTbT
|
||||||
|
vvqggRsRpcssPrcsrN
|
||||||
|
MccbcZjmbbNSbjllbRqrhstVTMtqRtssTW
|
||||||
|
qJdwCLdCzQQzwHLQLTtsTtsTRVTVWWTJst
|
||||||
|
GdnpFHzwQCdpvpbccPbSbq
|
||||||
|
CbQhZpTbTgMMgptzrdGtGzlVNlrh
|
||||||
|
FWvmmRHSmjqnSjqnSjPqjnmNLGVGJlGWLlLrLWlVrGzNGW
|
||||||
|
FwvvBjmBnqmVvFnvnVPMDspDQTfZMCMTgDQTCB
|
||||||
|
VmrsHllHVLTdZtRclL
|
||||||
|
bjwMNQGCjGjjPwpRQnRLTtRQFvcdvt
|
||||||
|
MbWgjMDpNLMjNpwGpjbPWgfsHsqsHSrrHHJsgBSBzB
|
||||||
|
HFlwVhfLBZZLTLFHwqWCqWwQpWwSpqWC
|
||||||
|
PttsNjdtPtcmcDTnDdtjjDMpCCCCmSmqqGqmvMvbCqpC
|
||||||
|
jndRrTtPdgNPPnLrVhVLHhVJHffV
|
||||||
|
NJZVqHNNNJNqCdqZZVjtzCDMtzrtrFhhMFsPCS
|
||||||
|
TbwgwWRdQgfggQgvMPDSPszhSbSDszFs
|
||||||
|
QpRmWglwTQgGWTvGRvQRdwnjNNqqqBqVlcqVVNncVVHV
|
||||||
|
gqBFHLFDNCBClHgbLFbllLggVSTWJVWWpjvJpSSWJjBjZvjW
|
||||||
|
mczdshQcsGftdmcwcfhdzQVrhJZJTZhTVTDjpWpZvvWT
|
||||||
|
twGdRtcGnRgDqFRC
|
||||||
|
fsPjCjgRpwjPpsGgQwPfSZcdSZdWVHzSzcdzHRWz
|
||||||
|
MBLTTBMvbMmvJTLvTDvczNdZNHdHcJNzNqSZVG
|
||||||
|
rTlDlbBbrsjCCGnG
|
||||||
|
FsmBPtzHdmmvcvdWpcWCvM
|
||||||
|
RMJGjGGJJGLDRNJJnfGRRSvplTDccrTwSWClvCrwww
|
||||||
|
nnRqNGJLVLRRZNNZzBHMHVFVmzBFbhmb
|
||||||
|
MmTSpBMBCCMsbbrVvwwSLb
|
||||||
|
RffNRFRThtqHhHHqZNrLVvwQtsGvssdvvsGb
|
||||||
|
DThHghZfgqhFWRNHhhRWqMCnMzzznlPnBlgzMpnPCz
|
||||||
|
GhlMNMdpMZHHhhRLLjqSjjqvvmSh
|
||||||
|
PcTJDBDcBnBbTFcDwnPTQSLqLrqvWjwWLqRSvsRmWm
|
||||||
|
PDcDJbQTFBCBcncgQPcDgnHgVmppHVMddmZglzVHdMmt
|
||||||
|
BqFJqJGpBVnJqnjjmwvrNwVPHPrd
|
||||||
|
ZMbQmhWstZScWjdswwwHNdzHvj
|
||||||
|
ZZtQCtgZQWSbMMhmMSWQfGfGDBpRJnJqTFFJBgTR
|
||||||
|
tVcPGGqwgJPqtJtqZZwcZffsfrcNWBnSWWFrfhWBnz
|
||||||
|
dRMCMQLvNssBWFFR
|
||||||
|
pvjjQvmDMpHLdPPtgPPTssTHsq
|
||||||
|
WDBlFBbGdmBrqWjhWcqZCq
|
||||||
|
RPSRPtncngwgwzhCwghC
|
||||||
|
cssVsPpVncQMRsVQpRPnRcfJfTTmTdDBLbFlDblTDDDLJf
|
||||||
|
CZgCCzgzsCDZDzbbBclgvcjcnnjFBqgv
|
||||||
|
VLGThLWhWdThlWRHVTLTTjNjjdjrnBNBcrNcqmqqcc
|
||||||
|
VTRWLhpLWHRMPGRGRplVhSfttJpZzwstsbDtwbJzZt
|
||||||
|
fqhZRLhwZwVSLbCMCJdJCHQGZWdW
|
||||||
|
ztvpjtpcvgzppPvjvPlDQLnMlHDGWnQDLQWDdJ
|
||||||
|
PpsPzjPzgLrjzBgLggzrmrVSrTSfSqFVFmVhffFm
|
||||||
|
qMFDRLNRRJJphbhSgStpptbj
|
||||||
|
rZrPZZNCCCGrlfsCzBbgstBwtvbtvbvBth
|
||||||
|
CfVrdndzZGrfzrzdrGddPnNCFMRDJWRDDnRWDFqFDJJFTJJT
|
||||||
|
dMDbndBMQWnnbDstnMbMQQwspFgsFFjRrqCCFrrprqrgjc
|
||||||
|
SlLzZmHZSTVGSPVmSPlSmrpFvFjjpgrpgFcvrcFcWG
|
||||||
|
PHZZTmNVHSWJlHPNLSzPLLHwDBJtbDbnnnMffDbwtnMndQ
|
||||||
|
tHBzNCztLBRBtrjvSjfnjvvzfpjj
|
||||||
|
gQwWqlnqWqJgJnDplfflddjdsfdpFf
|
||||||
|
gcwwmnDccTPWWgJbZNNbZHZCRRTrLB
|
||||||
|
ZhjgtrJNfDNpqbhqQmqpmb
|
||||||
|
cFLcwGGHwcGdwFCQjnnnVcmqmjCp
|
||||||
|
HvvlzjWHjFWTggWStDrDZT
|
||||||
|
GPjjQtPQbjwWqrmnsjmnqn
|
||||||
|
SNGdfLLGdlldZSSRWznFsNqFRnqsWs
|
||||||
|
DdMpMfZMhfZMpDfbDQQbGQVgccgcVt
|
||||||
|
hHGGGTlddWGgpRdcvwDCDwzgLJzCwzwgwL
|
||||||
|
MFSbZSnnFJWwQBNMzw
|
||||||
|
tSjrSFSfqjqqttPnssqjssbhGmWGhcmvldcmhHRhGRhTRf
|
||||||
|
qdBjBTNndbnqnLmtZmZvvtLvHd
|
||||||
|
hDJCpfnGhJfDPzGzzCnGPmpZZVLZvHttZHQLHgZLHt
|
||||||
|
JDrfCDJhGMhFhPzMrCCnrGSwswswFsblTqRlRwjcjRsqBT
|
||||||
|
tJPRSZCSJJCnmvvvQMrpqLVwqLqMcCCM
|
||||||
|
hhGGGfsdfTGlfggjMLVVFsMVwMMbqbLF
|
||||||
|
hdTGGhGhdhfhhwlgNfdhZnZtHHRNtZHnnZmHHzmn
|
||||||
|
HlgRZglZDWZgfVbdznHddTvV
|
||||||
|
MhShhQMSFShFPPQplMPmwppwbzdtVbFtfvfbzVbvbTntzbVT
|
||||||
|
lMwpmJLLLNGwBrcZCjrGCGrD
|
||||||
|
qjjWRLjNjtGRRWTCghNwsgwcbwmC
|
||||||
|
HPMBpVGMPMvvVBPswmhTbCwgmsVThT
|
||||||
|
vDSMSvflBlHpvMMfSSpMFWZdtZWdGWGddqfFtRqQ
|
||||||
|
ZmnGQfnZgdmRGQGvgnnmHCbbchhpMLrpcbLpdLpzbz
|
||||||
|
NBFPBWFsSVNJlFqLDLwcwrPLzzCwhp
|
||||||
|
qlWJqqWFJJjNqJWsFVsVqqRCggtmvvjQZgQnZQmvmHRt
|
||||||
|
RdCsJbdsVJtRvdzBzrBcjzMTqT
|
||||||
|
wNSNnnHhnwhHfBHqHjBDJMJr
|
||||||
|
GnSPLwlFwwLWSwpNWLSNpVZtvPsVJsmRCmtgsvsRsv
|
||||||
|
GPMwMMPCBPwBGsCGGWqBsslQhVQFccphvhWpmcFhVLmV
|
||||||
|
rbNnHLLHfHfZFfQQQZml
|
||||||
|
DzSDNtrztbgCMMBLLCsBts
|
||||||
|
rTtrVbrrhbbGGhbbbbRqccdBcdBcvRvBSRRV
|
||||||
|
fDqQDqLFQgQgZFMlFNRgvCNvRRvHvRBHHR
|
||||||
|
mfPqmFsqqsbJJtGtbt
|
||||||
|
vNHvgsSGSFDHvspvtSGwJwJNJrllhwhcnwJlwm
|
||||||
|
dqWdWfQdqQVWwnfMnlcfwzMs
|
||||||
|
VqQQqBRTqsBQWLppZLpFSHZbvvDt
|
||||||
|
gdcldHQlQndnHMzCjvCFrzjSFtbLtv
|
||||||
|
NJGmZZJZGTDsWWJNmDVmsCrSvfPrvTtSPbFFCFFvCT
|
||||||
|
BDDsmJZVBJwBRsGGDmZNBGqMdnghhcwgbngpqqMgnpgc
|
||||||
|
VhhvVwmvmwTPCwPwmDRgDCsgWSnfRMSWSM
|
||||||
|
ptHZZtlZzqbZttHbzrFqnDSMShMgSRRMngDWgrGh
|
||||||
|
hBttqBhBzlFhtHvTJQJTcvBQJPPv
|
||||||
|
FjfzfGjsjBfQfMLBNg
|
||||||
|
VlrppVwrpVSdScwTjVnCCQLQNCMBhWgV
|
||||||
|
jvtSrSjjtSZpqtHPDPJqRzGR
|
||||||
|
ZSmbSDswfCDDHBFFvWHJ
|
||||||
|
jcjcVjltntQMltnVrdNnNjdQgFzWHqzBWGWQvzHwgqqJGz
|
||||||
|
nccLllwwhLCCSLTmmRTP
|
||||||
|
HBSnnJSfHvBfNWMNrvnMrZlblFbsbHwsPFVHTsHFls
|
||||||
|
VLmDLhRgRbZFRwjZ
|
||||||
|
zQDmCLLDDLGttGGgtLvvVSfqJBSVftSnrJnN
|
||||||
|
CgGhbgVMNgVVbjrrtcfTDTfvTscrTvSSss
|
||||||
|
qqFzFBzsPZHmddmsmvWSnHJnncDfWnDJvv
|
||||||
|
ZwdPqdqpdPlPwdRlsdBqBMjNQjGVgbQgQhGVCCtgbR
|
||||||
|
CGFTTMLGPgmPfGfCwTPSSFNQDLNQnscQNccWdQLqvqds
|
||||||
|
pbJlzhZRHtjrbrbjHHrplRWVNsNvddZNWDQVVcnQVscs
|
||||||
|
pzJtlJlBhJJHJjHhfPfTTFMDmMPBMSgm
|
||||||
|
gzCBPDDzgvLvgPLgNThPlVZccJTmrZNV
|
||||||
|
sndSnpsdMSnRMRpjShhNJZJhJjrVcTljTZ
|
||||||
|
SRRsdnGwRSpptnfMSSpdQtfdWqvbwFgbDJJzCzqqWqWbLWWz
|
||||||
|
BDnsPDlmmwcnCLLLwPtFTtTtFRqjRrrSVFqn
|
||||||
|
dfhhzMGzWJhpMWhHWggTHJVFVSSqbqqjdRRtvqqvFrtF
|
||||||
|
JMGfHffhQhQTNcTTBLCQmm
|
||||||
|
bfZBvvRRRzFfFFLRvFzZCcQlScchLlGNhSQGGVQh
|
||||||
|
mwJqTbsHmjbTNcNhQGGJGcVS
|
||||||
|
mPTgtsnPjwHHmmmbbRDgfpdgBpzvZD
|
||||||
|
lSnRStHtTZdjrHjnqJglbqgchhDCPCPc
|
||||||
|
swFBzvBNLpBBsvszvDJhCzgDDCgbbJQzDq
|
||||||
|
VswvBFmvpSrShmRRMn
|
||||||
|
vWBBSrWnZfCWVchwhbcjVN
|
||||||
|
RdHQQpRPJZLTtJgNcNGgbhGh
|
||||||
|
zpzDzTdqQRqRzzlRDsBBnBfMmCCSZDBS
|
||||||
|
ZtGSZVpPDtVbQjbwBDzbbL
|
||||||
|
WcFvTFnTMnnMcnhmQhmhBbBQzCQjVb
|
||||||
|
RRWsgvgnfqgpGVNg
|
||||||
|
WJTrJJCzLqCqBTWLsCCqzmPPQrjwHQQGpwGHHmRPVw
|
||||||
|
bMvnDFnFSbSlGgnpmGQVpRjV
|
||||||
|
DZSdFZdQZZclsscWqWLhcBhs
|
||||||
|
PzLlRRNjjRQzvPNQsvddlZfchhWWZJHSlhChDhHhcc
|
||||||
|
MMfngVwtpVMqVrwrMBgmtGqCHDWqJSDJWhHHSSSJJHHD
|
||||||
|
tBgnMTMMrgVmrBwMmGfnNjjsdLbbbTQvjNTNsQLz
|
||||||
|
ZZBZRmPmgpgZGLWLQWslSWmLQL
|
||||||
|
DnHJJjzqrJffrDnHzJjnMbQWSltttSbStvFQSstSvCLF
|
||||||
|
MzJDnfzHwHlljJJnqrMjfPGdBRpRBGBRhwVdGGRTBG
|
||||||
|
CnZCpMFNnFvvNdpHVrWghgtFVFlLRWhh
|
||||||
|
cBsSBsGcjGcJZDrggtgtVDVrgWmh
|
||||||
|
wTBJbcbzffJbZccjSbSjBfccNCNMPqqPPdvnHvTvnMTNdnvQ
|
||||||
|
vMgPmvQmWDMpGpjBbMMH
|
||||||
|
CcVJNcdNgdhtCVpjBBRppfRTGbph
|
||||||
|
sFsgNlcdFlJFFwFstNJcvzDWZqqWvqLqzLzmzDwQ
|
||||||
|
LLVLVsPPVVPCLLrjCNNNgmRdJNdCdfMJpB
|
||||||
|
DTZZHTWbwwpWbSWDBmJMSFFNmgRRBggf
|
||||||
|
ZvzDWqDnDwnZTpzZTzWvphPtqhQsltVtPhPhsQrPch
|
||||||
|
zDgWmDgrpCLmwgWTrjlJBQRJjbFGrcbQ
|
||||||
|
hSMvqvHtqsdVHlJDcclMBjRMQJ
|
||||||
|
sqvHsSstSdqhVVvZdqVHZDgwWpZZLLmfmmwfNfWCgmLg
|
||||||
|
SQWcTnWVWbZWWBcVPnZVbnrNrMFMdqFNqdMqqFhrDQvq
|
||||||
|
plGLlLGpJLhCGrRqGDDDrdzNGr
|
||||||
|
wgflHCCCJmpLjCLHtjjgLCtBZswnsTBPVPVsBcPTbZBBSh
|
||||||
|
vvlMQvvdjdGtVCTJlVJVfJ
|
||||||
|
FLrFqwwZgNrFWqZwgqrZBLWcBTtppztVbfRJztJbztfztT
|
||||||
|
WNmmFJwwrFFnNmDgmjdGQMdHMsPvPjsHDG
|
||||||
|
hGmZHdSRdMmhMZSHlvbTvRbRlVtCTlCR
|
||||||
|
znnfzgPPDpPfDcgnZTJvJNCZbJVCcNJV
|
||||||
|
nrLLfQznprrppgprWrnPzQzLSjGsZmHmhBdsqWhdhBMWhdqd
|
||||||
|
zhtNFSFwRFLCsNrNNBdl
|
||||||
|
BmQBPjDpBTDgHllgHc
|
||||||
|
npBjjpQpjGbMnmPpjPQWpwZhtbzJfhwvwtSwhhFFbh
|
||||||
|
PZcZbcPlbSprcQbbdCwWRSttgtgvWfjC
|
||||||
|
TGVLVHHmTVHGDTDnGDhgWjwvCjwwwRLLgBjWBR
|
||||||
|
CHTGsnHVVcJPPcNsNJ
|
||||||
|
tTqGSSGPGfVfTpqGTbbcVWJLdjtvdzjJthCjlhdlzQ
|
||||||
|
wwFBZMmZBmgnjzlCWBBjBLjv
|
||||||
|
rNMsDZnMMWSfDcDWPR
|
||||||
|
vLzbsczhLmmnlNvrNQHfWd
|
||||||
|
SMSFqMwjFFDVSZwVTMDjSQlQfNlRrQRWdQfRrWrqHN
|
||||||
|
CPTwGZDTFCPSjFTSPSFbPgpLscPczmcBLbfgpb
|
||||||
|
QnQnpFjsbFcSSvCMNvqVSrqq
|
||||||
|
WfzfTfzzPgHTfwfWtgRLMJDvjMmMVtvDJJCVtqmC
|
||||||
|
wfWRgPzdgRTWBBWHPBHHBRLTlcZdhjnbZQcGZGpsnphjshbG
|
||||||
|
pHzPTsBHzqqtQCZZshlWjf
|
||||||
|
DFFbnvJMDMljjtQjfCbQ
|
||||||
|
dgJFDGwgmGlMSggGdgdDDlvLNTzpBzLzzwpTBLzqPBczLT
|
||||||
|
jccNVNdwnclRwlbwlVjdcpJSpGpSllBHgGHZpJpppf
|
||||||
|
mDThTmsnDsSBpZfmmgBf
|
||||||
|
MrFrhCshqvWvnWzTWQtzVbRRQwQRNQjdwQ
|
||||||
|
tBnLJfnQtzRCffmNjSRjZjNZSRrP
|
||||||
|
dVdMVMvMghHzPhzZhHND
|
||||||
|
dGWGgplWGVMdMMzCTsbLtLTCLpnT
|
||||||
|
ftNfNDdSBdrMTdrjMM
|
||||||
|
cHgHGHzGgJhrPLqSrrJTqp
|
||||||
|
mVFnQnhQGHFznFhBBbSDRBlSVBBRfS
|
||||||
|
VqqPBPcPbQHgfrrpcSDR
|
||||||
|
tpMnsztnGnthhzTtGTGTzzWgJNDlMfSRlRDgRNRrDRHfrg
|
||||||
|
zWtTFWzTwphChnCzFhzWZGGvBvLqmVmbVQqjqjmBPqBLCP
|
||||||
|
ZZgZnhrmwmnmgmvrghPmgTGcTSGSMSldgcCQCSqW
|
||||||
|
LzFLDBfHzHCCqCFGcSlS
|
||||||
|
HBjRJDLpHpJsJVJqsnhP
|
||||||
|
PqrqmvmrwzznnPDpjVpDLfDtPGLt
|
||||||
|
sdRhRWFhShhFccZZsSsNbsNcjCtLpMVWCjptGCfMftBDLMtG
|
||||||
|
bVZcsdlhdNSbZRSshRcbbqlmnqHmmwzrJlzzgQlmvz
|
||||||
|
pnrcNGqmrGqnchGhqdWdTlldtQtlMsTq
|
||||||
|
DvSLgzLSMfbgggCLCwbSSLLtfsWTQTsWllssdltRQQtttQ
|
||||||
|
bCCzzPPgDPjPvwSzDbwpVNnpnjjrhpnVZGMhcp
|
||||||
|
jWbGtDdqCqZjdHwcwZMBVQmcvZ
|
||||||
|
PnTflPRRrlgLTTRlTzFPPQQBcNvHBncQpHMwHNBMwm
|
||||||
|
fFFRrFLJgRcJglgRzTzrLqWCjtqGGDsjCjdbGdqdhJ
|
||||||
|
GwbvGqMsDMbpMGzzgRzgpBLjhcch
|
||||||
|
WFTFNZTZSCcBggBFcrss
|
||||||
|
CJWWlsWlCtqGJmMGwJ
|
||||||
|
CGCVhprTrthCZTCNtVGtZDZNdlPPdPwmmvrcbmPmdQRvQWmw
|
||||||
|
LfzLzssfgHjLFjFLfjMfHsLHmPwdcQWQQlscwlPdQclbPvlw
|
||||||
|
LBFHjgMzqqjfJqLMzffHzqgHhhJDZSGVDVChCDDpDNNpNtDW
|
||||||
|
TbzVlmNTVVtnTSWNwDDrpGcwdp
|
||||||
|
fQQMFbhCfLgfQCsdDcHpsWpdSDsGrr
|
||||||
|
ghvPLQMfZhjjvPLhbQFQBZqJlTnnnVzRmtRzlmBl
|
||||||
|
JCLLLwVDwCQsNwwJHmfrMZpMfMMrfPQSMZpS
|
||||||
|
WlFlzFRnznthqWRGbMpVMbbMPtMjMj
|
||||||
|
vTnvzqllhdhqTwVBLcJHmmmC
|
||||||
|
tczhtcJJJbtclWrtJBWJBtJtpqPRSPfpBRgqRfPmpRqddSmM
|
||||||
|
HCvnsQLNCQwLnDsNHLwQfPSSpPSMfnPddRMmmGpp
|
||||||
|
wDQwjNwQNHjTHNFDCNmCFNWtWzhJbWbVrhtWccVFlrlV
|
||||||
|
sPRpCndBCGpCGHttSdvTbWvgdjST
|
||||||
|
wcmDwqcwmGDTNvjWtrbSrc
|
||||||
|
lwlVLVGqZGlLzVHHBBBCHBHRPCCz
|
||||||
|
wdmhffzzphrjqtzRbrrq
|
||||||
|
CRgGTGTFssZsllHNBlHsFJRjcrtjtPDPcbCtDrLcrjctrc
|
||||||
|
NHMRHTlFgGNwpQvMpwVvww
|
||||||
|
MPLJNPqmFWmDFjGS
|
||||||
|
nbsZtwbZlbZlGlFDDMpVlF
|
||||||
|
hvsbbbZtvfhhRZbZsfzMbMZbqcrqdrNrNqLgqhrLhJgddLNL
|
||||||
|
SnMLpRDGlZSZNlnMZpCwjLwzFrHBWCFWBBBr
|
||||||
|
TttvvtbtVcsJtRsvtQdzWJrBjCCHBWzrFFhCjC
|
||||||
|
VmvsQdgPbdgVTvgPMSDfPPZfDRRNDNMl
|
||||||
|
LjngLCNhDNFNhFDhcMqrqqZMcSZnHTMc
|
||||||
|
PPJwtGlfszGwWtzwQJBPGslJSqRTHZvgcRRZrMSTMMTtRTTc
|
||||||
|
llPPJWzQPmWmVNgDbLFCLb
|
||||||
|
NPFlLNBLprpdmmdPBmJnLrdjMVDjMSdqgggQTVDqWMdqVs
|
||||||
|
vZTbTZRwvvGRTRjWDqSqqQgDGsGq
|
||||||
|
vzZcfRRZbwbRHRtwZCChBmFNtJBPLBlBJJLpmFTP
|
||||||
|
pmvZmmTjQFfnvPPHHv
|
||||||
|
SczhzfbsLNhfccNFsWFRPrDnPDnVnW
|
||||||
|
BtBbSdtzLBwSLwBmTZpQMpZmZmfZ
|
||||||
|
PqPQZqtQQLDqrnqdjqdVwVbz
|
||||||
|
MGRGWMgJHGlRRHfSwfzCfCVVQzbwjrjn
|
||||||
|
JsmHmSJJmSMWMlTWQBFhLTvhDFZhBQDZ
|
||||||
|
sbgbbFGTTFNMbMNFWrjsrvWzHWPzPPpf
|
||||||
|
CVmhVqSqCZmJQhPpHzvZvtzWHjHP
|
||||||
|
CnmdCQCdnFTnNgRpwT
|
||||||
|
blZjhbZWVttjWjWLCLVVZCZQjMDQHsBsBQfMDQwjHDwBHH
|
||||||
|
NdcJdFcJqgpJpNnDQLMFsBnLSnnS
|
||||||
|
LJrJdJrzvdrrpcNdNcrVlZWbZzZVRhRtVlPttC
|
||||||
|
mhRtNNtrtBQQrtrBBmQlZwHHqHZSVHHGshSVDwhS
|
||||||
|
gpdPMTcsLscMccTpbLdHSfGfqwHZDHHqZqHZ
|
||||||
|
zbzvMpPLppLzLMjTBQRmssjBWRQjlmrN
|
||||||
|
VzzvggdvFdmffwmGpd
|
||||||
|
HNbnJTRTmCwwrRpR
|
||||||
|
LlTnWhLlhLJmLmtZtPcPcVFFPSZgZt
|
||||||
|
jHcZjHlHzLHHnSNSfL
|
||||||
|
pQWRrwPwrRWBWBPWBRrpdPmzhShsSFFNShLhnnvPtvSNNs
|
||||||
|
dzbmwVwbbBmGcqDbgllJCC
|
||||||
|
ndnvvzJDHvzHHHjnHjCCSDLgbSFwNFVbFVTL
|
||||||
|
mcQmQtpWTQGlmpTtMtqtpqTFsLcVSSscNCwLNLbwbbLNwV
|
||||||
|
pRZTQlhmtGWqqWnPHdnhjHrBjPPd
|
||||||
|
TtLpNHspTcLNNsLpthhsfmtjRSRlWWbzSwSRGwbWlWSSvlmS
|
||||||
|
qBJVnZZdJVZrZndbPbWwRzSMVGbbVS
|
||||||
|
QCdnBFBndBQDnrqrnqqNhpNNLpHthsThjGCTLL
|
||||||
|
phCgcdrFbPLpgrbFHqQqzzlbGWGqQbHW
|
||||||
|
SFTvTnVVMRnNTNfSHjHQMDlHwDWlQwDz
|
||||||
|
TZmTvsFNmvTtsggpdJLBBsCs
|
||||||
|
PBBWQjvsPsHVsNMcSzNDjcGggS
|
||||||
|
ZtrTfTrrrrdCqpdtLNnMLLqNcgMzgHLq
|
||||||
|
CZFmdTrJtbZrBvWHVVvHbPQW
|
||||||
|
djcrrBljMrTdCTcdCClClMlqRvtNqqSRwFbNbwvNBNpSzq
|
||||||
|
QhPmGJnPVGVHHNzSqpzFwztF
|
||||||
|
nhgPFmsnLPGLhPDJhGTcDjMfrMMjMZWfjfWj
|
77
src/main.rs
77
src/main.rs
@ -1,3 +1,76 @@
|
|||||||
fn main() {
|
// https://adventofcode.com/2022/day/3
|
||||||
println!("Hello, world!");
|
#![feature(iter_array_chunks)]
|
||||||
|
|
||||||
|
const DATA: &'static str = include_str!("input.txt");
|
||||||
|
|
||||||
|
fn item_priority(item: char) -> u8
|
||||||
|
{
|
||||||
|
if item.is_lowercase() {
|
||||||
|
((item.to_ascii_lowercase() as u8) - ('a'.to_ascii_lowercase() as u8)) + 1
|
||||||
|
} else {
|
||||||
|
((item.to_ascii_uppercase() as u8) - ('A'.to_ascii_uppercase() as u8)) + 27
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
fn part1()
|
||||||
|
{
|
||||||
|
let mut priority_sum = 0;
|
||||||
|
for slice in DATA.split("\n")
|
||||||
|
{
|
||||||
|
if slice.is_empty() { continue; }
|
||||||
|
|
||||||
|
let (left, right) = slice.split_at(slice.len() / 2);
|
||||||
|
|
||||||
|
for c in left.chars().into_iter()
|
||||||
|
{
|
||||||
|
if right.contains(c)
|
||||||
|
{
|
||||||
|
priority_sum += item_priority(c) as u32;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
println!("The sum of the priorities of duplicate item types is {}", priority_sum);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part2()
|
||||||
|
{
|
||||||
|
let mut priority_sum = 0;
|
||||||
|
for slice in DATA.split("\n").array_chunks::<3>()
|
||||||
|
{
|
||||||
|
let left = slice[0];
|
||||||
|
let mid = slice[1];
|
||||||
|
let right = slice[2];
|
||||||
|
|
||||||
|
for c in left.chars().into_iter()
|
||||||
|
{
|
||||||
|
if mid.contains(c) && right.contains(c)
|
||||||
|
{
|
||||||
|
priority_sum += item_priority(c) as u32;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
println!("The sum of the priorities of team badges is {}", priority_sum);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main()
|
||||||
|
{
|
||||||
|
//part1()
|
||||||
|
part2()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_item_priority() {
|
||||||
|
assert_eq!(item_priority('a'), 1);
|
||||||
|
assert_eq!(item_priority('z'), 26);
|
||||||
|
assert_eq!(item_priority('A'), 27);
|
||||||
|
assert_eq!(item_priority('Z'), 52);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user