day11
This commit is contained in:
11
AOC22.cabal
11
AOC22.cabal
@@ -29,6 +29,15 @@ executable AOC22-exe
|
|||||||
AOCUtil
|
AOCUtil
|
||||||
Days.Day01
|
Days.Day01
|
||||||
Days.Day02
|
Days.Day02
|
||||||
|
Days.Day03
|
||||||
|
Days.Day04
|
||||||
|
Days.Day05
|
||||||
|
Days.Day06
|
||||||
|
Days.Day07
|
||||||
|
Days.Day08
|
||||||
|
Days.Day09
|
||||||
|
Days.Day10
|
||||||
|
Days.Day11
|
||||||
Paths_AOC22
|
Paths_AOC22
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
@@ -36,4 +45,6 @@ executable AOC22-exe
|
|||||||
build-depends:
|
build-depends:
|
||||||
AOC22
|
AOC22
|
||||||
, base >=4.7 && <5
|
, base >=4.7 && <5
|
||||||
|
, ghc
|
||||||
|
, modular-arithmetic
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
|||||||
300
data/day03.txt
Normal file
300
data/day03.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
shzsFcPssFhjFssBzdpRcNHNZrpdJdJVJZ
|
||||||
|
fwvMCntfCCbSbSbtDgDNrDtDtJHZVH
|
||||||
|
GbCwwbwwnGrLhBzjFFFsWPhL
|
||||||
|
PpCqRsqqmmtCwMJC
|
||||||
|
LHFrLLHDSNHlfWNhDzmjzzJlJzPJMvPJjQ
|
||||||
|
SGSWDNrhZhPDSWDZLgVVRgbRppgpGVnpnn
|
||||||
|
GRRjbVjmJZlgMRzzrN
|
||||||
|
FpDptHpfHfnpPTvDFTWpFPnPcMfNCClNrzcVcrMMzVsCZlsZ
|
||||||
|
TFTQDnvLHPFDtVbLwbjdGjdwwJ
|
||||||
|
lhljvvhCjjzhjszzBPmnmGVZMGzG
|
||||||
|
FbTcTwbtSFdtcMPnTBPQVnnBZT
|
||||||
|
SFMpHDtNDSSbSdwppvgJWjJCJJgWgvlJHH
|
||||||
|
wzNCWpzCzJnWWpRRNdJrgHLhjfbLrHrchV
|
||||||
|
lBMStmPmmLQDPQZlshrdhgrfrcrrddgHgs
|
||||||
|
mvGDGQSvDPBlGMLGCvCWpNvpzRWFwqRw
|
||||||
|
stBttBThtDZqPWssPWZp
|
||||||
|
gRggwwggCGFSBBvPRpHZZrHdZLZq
|
||||||
|
ccFJGCNJmmGQzbTDhnQhBBnB
|
||||||
|
HJqMqtZbJMmJTqtLtVMqhpfphNdQfhfzzjhhlHll
|
||||||
|
rWSBrnwFwWCvwWCwBgPgCgzjQccQhhgRzcdQzjfcNfzR
|
||||||
|
CWBCwCvCvvwssWLMtJJGMdMZJsGV
|
||||||
|
nFwSFQwsNrrsssSwCrhrCNnfcCRgJRMJTJcMfRzMCMCRvW
|
||||||
|
DdbGdLZLttllWWvTzgzzgR
|
||||||
|
ZqGzPdLtDjBjDZGPZVmnhQFwqrFQhVFnss
|
||||||
|
sNNpCjttjsJjSpgpWjslCTnqqSVffrnhSfDhmhrhfm
|
||||||
|
dBwcGzbPBHbbwZcwJbcTTFDFFFDVrdVmFdnDqf
|
||||||
|
HzGcczQPHGwzPzGHRctWlvRgtvJlvNlJvRNj
|
||||||
|
cFNCFdvcCHvFBCZcwBfRSpttGhDmCghGShmSRt
|
||||||
|
QjLnTTzQVzTTnLMqhDgPhGDDSjGPrgSh
|
||||||
|
TTJGnJJlLQdNWZWJNBJZ
|
||||||
|
WHBpHcMDZHLDbHLtGCnmRmLNGmRqvsCC
|
||||||
|
PzTFzPPTJzrSbGsvnmqfsqfqRz
|
||||||
|
dJSQQdVFQgjTrjQPWcWHbBVcZVccZtWp
|
||||||
|
JDtnRtJzNzTTNlHc
|
||||||
|
rQPJFrLPGMMwrGPFwjFMVLjSTWHdWBTdSWdWZlcWTHlZ
|
||||||
|
MGFrCvLLwrwPFVVhvLMGGtnqfsmRJgDnqbRgfbqmfC
|
||||||
|
jnTtFjcSSvctJjznzvFmpqqPMqQDRVpRqPzqQzVQ
|
||||||
|
bhHBfrWpfHsfGNllRrRCPqDCqPqq
|
||||||
|
gsGZZpbWgbwHWGNgfZNjvLSTTjtnTgjSSSSJmL
|
||||||
|
RLQNdVNnRQdQHVVLGpspNqvtsqptqpTtsp
|
||||||
|
MlRWwbRBBFMFjCTFTTFDvj
|
||||||
|
WmlWBmBwwmrndnmLRHRQ
|
||||||
|
WnftJWlfnWSHGCjWWWSCFqFGBDqBwMcDmmMmGmqD
|
||||||
|
pTNhpTrPhhhRPzbhrppLhThLgqDmwccwqPBmMMqnFBcwwmBB
|
||||||
|
ZrhQTpzdjSVVtnvZ
|
||||||
|
jgtnJtBjtlTdJBZJVQBngQGDCGWpPGCcPWCbWdWMbcpP
|
||||||
|
wHstNNttSHPDmHcMCp
|
||||||
|
rrFFSvLLNfsFtNSqrtfrhsNjjVTBVgVvnTBvTQvjTgjVZz
|
||||||
|
qhZwlqFqFwlJwrDHqHcDvgcNzv
|
||||||
|
RCCTQmjCbQTBtRTbjJRDpBrgDHPPpPDvHccDPc
|
||||||
|
VmjVWstQJhlJlGVJ
|
||||||
|
GggpGwZmgvgJMvbJFQQDbDFbBbFCQDCW
|
||||||
|
rtrLzNLtNSPnNqDSQDcQCWlqBQ
|
||||||
|
VtzdRPtztLtVRtZmmMTRwCGZpMwp
|
||||||
|
vtvqjsCqtshfjcWFHWGjGFJj
|
||||||
|
zGrnzDDMpPcTHcSTVTJP
|
||||||
|
DbDwMbZRDrZdBBnMznZMGZDfwtlgQhsqCttClsqvsLfCff
|
||||||
|
JLzLtLsrzsQdvrWRwMHwcc
|
||||||
|
qPmCTzlPjljjFTZmWwcwwvHMMRWwHvMm
|
||||||
|
PFqZnVCqTCNjCzNgQsbGBLzLQQ
|
||||||
|
CBnppDHllVpPCBshBHpjDTSmZcSrfwvmJcDDTJfw
|
||||||
|
dFRLdLFQzNSTBTSNmBJv
|
||||||
|
FzFFzRMBFWtQlPlsjjPVMnhC
|
||||||
|
CVCfwnfdVvBdBbTNTT
|
||||||
|
LNzsHPNWsDjTZqDHqT
|
||||||
|
PtLgQsGQLSzWLstPgGWcgQLSNrpplffrnrNhpVCwlGVlrwMn
|
||||||
|
jPPVqPsHffzVnHzvSgMcCJGGMSVCll
|
||||||
|
pdbpDpBLNmNNppJgcvgSllGjDSGQ
|
||||||
|
hrbBwLpjLhhhNZLhNrhZZLHzfsztFzzsrtHfRFnFfRHf
|
||||||
|
tdjBdbmSfdHBdHHmZlWjFrnlWQlqvMFvFn
|
||||||
|
pDNDJhLhPVPLLLJphJLwNcwnQTcWWTqTrqMWTZvqMrlvFM
|
||||||
|
gpVLhNwpgZJCghCLDNwphgmsBdzHHHmSstmfggzdbR
|
||||||
|
TfMpfMBVftLMDBSjWDHgzHbgwLgHHvdzggzs
|
||||||
|
QJnZcFFnZRHdHjJvwgdg
|
||||||
|
RjjRRnmNmmZNjZqZnQcVffBrWqVTqrtffTSTVV
|
||||||
|
fZTdTVcVjrjdBzdTnGtgnnGSHHNFGn
|
||||||
|
thMWPtPMslmGnWnNnS
|
||||||
|
thvbMvQMRphhLCjrzBjZVdcQfC
|
||||||
|
MpmgZFgMGdrFrBCVnJ
|
||||||
|
JsbJlTTlvLQbVffRRvBBRVjd
|
||||||
|
LWlbhHlJhLTJmmGcMMHNmNgN
|
||||||
|
bhvmhPrbhqNqQRRGzQjVvvRL
|
||||||
|
wTwBZDBTwwggfnngcDfdsVVFQCdzCzDVRsFdQs
|
||||||
|
pngWMcgzMgpZWncnMpWNrbNHrNbmHhltWlbl
|
||||||
|
nPndBjLPscWSccBVGnScsSzMdhMppMthdMgpMgrzvhhp
|
||||||
|
CCFTFDwqZqCCJmhvpDzztVzDNztp
|
||||||
|
qQFJTbRVbmCfwTwfmnnssWBGnLnWlRLSGn
|
||||||
|
JRlJDSvLRRCdvmDSvdlbZNVBSWZGNgWsZGNgZBVs
|
||||||
|
QrjPMqMnLzzjLjFnNNgBpsgtgGGGVZ
|
||||||
|
hrjrFqjqFrQfMHPhQzDvvCLJdwwwmvbJbwDH
|
||||||
|
HDGrDDDpNsGQNdZQ
|
||||||
|
jpjgtgjSjpjllfZZtZsvNdtshqqq
|
||||||
|
cbgMfjclWTJcMwjWJfpfmVPLPBnVBHnmVbnmLBbD
|
||||||
|
rPrMZNsNrsvrwqvFFFdgQWNzLJJzRW
|
||||||
|
pStppStHmcmHpgVSllVcbVbWWDdLFhdbzdRRFhJFLLRF
|
||||||
|
cltCHmCBmtSlgjpllgGvTwPZPMfZvPsCMCwZvC
|
||||||
|
FRQQMdlFMDWRFQRQMQQDWdFbSSSVJSBbJSlBVVBnPJnzJL
|
||||||
|
rsftPfhsrgwznSzzHSLgJG
|
||||||
|
fhNsjrjhvsTTvdjcCRMRMRPcCW
|
||||||
|
tRtJttHFrjtDQHHBQMMBgMBSghhZQb
|
||||||
|
vqWPLpLvqrmPdmqwvqfmPhNBBBlSnbwbgnlnlhNSZZ
|
||||||
|
pGpdfzLLspddmqsqPvfvvPpGTVcJJCDRjHrccRtDjcRDFD
|
||||||
|
GJMHCdTMWJRhSTlhhSPllt
|
||||||
|
fVvqpfBFrqvqNzzgVDFrpDPmSVtQSlSmhjwltlRtmVhn
|
||||||
|
pzpBNDBzfDrsNsDRJJRdCssMLdLZWZ
|
||||||
|
hFfvWWvdpCwwcwFhphpcZCMmllHLfmbQlbrQLBJmGgQrQm
|
||||||
|
nVSNGjGzzSVNTsjzSJrbSrHBSHlrrmQHJB
|
||||||
|
PttTNsTRVnNjNqRnzRzRWCCCcpMCWGPMwwFZvFwW
|
||||||
|
DvZbFnDDsqDBwwRQgNBm
|
||||||
|
HhWpWWRMWChlChdHLlGlGtQtggSNPSSpgPmNgPJQtw
|
||||||
|
CMlWGMhhCVHlLCdHTHdrGHdbzjVqnzcvqqjRjFbbzbFFqR
|
||||||
|
ZZgCNqqBmjZsNgZCqJgNBdrLFHbBrWlPdHWFbPnHPW
|
||||||
|
TVwTDfzDwSDzmcSTcrzdbllnHPHdFlLzbF
|
||||||
|
tvDQwVtVvDVmtRsNMgRpJg
|
||||||
|
BBpDCpNJnmnpnDDmDGGmtTzqHcGTvTTjTbGjHLVcLb
|
||||||
|
swNNhPwwHzTVwwHw
|
||||||
|
rPRlPRhSQmmBDpnNfl
|
||||||
|
pbRhffPzcPDmfcNTpVBLpBjMGBGjZLLg
|
||||||
|
ssrCsqrszgJjZMqZLQ
|
||||||
|
SzCwnsllCrssvdrvwzPmDmPPbFRbSThPTPDD
|
||||||
|
QWLfcfczQQpcDTpLPfdZRRvRRVqbFWvZbvtqvv
|
||||||
|
NsGGJBhCmNdZVqsbdssZ
|
||||||
|
rMwwwBBJMrdzPfQMpzMnLQ
|
||||||
|
rdtCQhrCtQQprtTWQCHFjPgGBPdFPgvBqRRPqB
|
||||||
|
lsVsSnVSbLmmgBcgTLTFGgvq
|
||||||
|
wTTDTszsbzMDppJrJhDQ
|
||||||
|
ZlmsGLBVCBBZFCFFHqcHVvQhqVQSSHpH
|
||||||
|
dbbTRMrRwwzDfrTbFtMvcptvHFQQpqtc
|
||||||
|
gdJTDWgfwDwTwmgmNPnNsgFBlZ
|
||||||
|
PWhWhGFzzzrLdHCPccbJQJcHPD
|
||||||
|
NRpVTpTgRWVlHJNHMcHQMb
|
||||||
|
pSRSpVSZWRSTZjgTRTWnFLdZLrrndhdzZvtvzn
|
||||||
|
LgctLgVBVLhlPjqRhBLVcVlhbDDcGnNGfwCrbNDnrGbGCJNw
|
||||||
|
HmppHMWWmQmMqZZHWQrDDfDCffJrDGJrCb
|
||||||
|
qpWZsZZZMZWTLPhTRgTtThRP
|
||||||
|
hfhQfFQWzBfhfTQdmzdLDtDjtvHLjt
|
||||||
|
qsgpcqMNRmgpqsCwpCmZDvjwvdddHZHvZDtrrd
|
||||||
|
SgmNmqScbTSJbhJQ
|
||||||
|
dvMTQvTnZJsrQdbbSvMVZMblDwlflfDGgwwHcfGjPfjjrG
|
||||||
|
FqBLpBpFpFzRzqNFmgjGlDRHcwPPGwgcgs
|
||||||
|
tLNtWshsLLqWMJhTQVVbhvJd
|
||||||
|
bgZLMZgzbbLCcPCbMZbcNMgBqSTqSWVtSzvvTTBTqBvRBW
|
||||||
|
FhQpJQnGrlhGlrnTqRtTRJqSwDwtVR
|
||||||
|
FqlnnFnqFHnGHHdNZdbZbCNMdPLMPb
|
||||||
|
HHFnbftcfnfbbTbTnHTNVZZzJlPQlFrFzVJFZsdr
|
||||||
|
mvpGCBgwqCvLCqvMQWWzsQQWlPzwzsrV
|
||||||
|
hpGSGgqSvqbHcnhfVfct
|
||||||
|
lGVrnHsGcnVHzscrlGjHcrHqqWPlJCPJClTLLqCSPLPdqS
|
||||||
|
fRbwbtMQZtMMRFMSqfJTTWCTJPJCmd
|
||||||
|
ggdvtvdbVVGnpDGg
|
||||||
|
BnBjTcbnvhjjlMnNJJfnDnQDGdNDfP
|
||||||
|
qwFqVSWwqLpWFmFVCSqFpDDCJNJRQTRfRDGPfdfDQN
|
||||||
|
zwHwWVVWWFSqqwWTLqzzztHMvBhlcghblMlcttMllh
|
||||||
|
PFFNPNPmlFllbctNLmcjBstrsVrQHJSSHHSnnB
|
||||||
|
fddfDhdwGhTWWTDMwMggssjsjndsBsjsnSrVqSVV
|
||||||
|
MCvvTWvRMwCvGPpzCcmbplpCVC
|
||||||
|
thTqlPPTNbGNhGdqRRhRrNtFWnDnvvFZDpnFvfQDZtvWvv
|
||||||
|
HcMzVcVVcHrgHzcMcmmgfQvFQnMjnWDjfnvjQFfQ
|
||||||
|
VSmHJLHBJrTrJTlT
|
||||||
|
NjnsHjLLjNRddNdBFBSR
|
||||||
|
ftsbqfDcDqsrDtqsfSVBhJVFJgdBRVFS
|
||||||
|
wvDqwtDlsDDczjzjHvLzLQQM
|
||||||
|
qDwstwDtRfpJfVhBVZBMvnlRvv
|
||||||
|
zSFzQHFWdgZBVTZhTzrp
|
||||||
|
NHdggjGjWHQFPWHNPPbpJfPDtCwCtqDqJfbt
|
||||||
|
pvnbqHvnTvlCCpjsBsMGBGWWPp
|
||||||
|
RJSJhJCRVJmJwScrhSJdfwFsBGhZBjhGFFFFGgFPGhZW
|
||||||
|
cdRrdmwtfcdSmLtcSCQlvQNqQTlqqvtTlv
|
||||||
|
rnSlSrgWjVGpTTRhSffpRd
|
||||||
|
HtgHPsNNgNHszPcTBphMdhHhBcTc
|
||||||
|
JNNbZPZZsszNmtDbPgsmJlwFvWVnCwrlmWlnjnGvCC
|
||||||
|
WrVBVgVGGQCrSTTqvVjDqDjv
|
||||||
|
FmwRRwwRQhhLFMjFMzdqSSzS
|
||||||
|
RcJtbnnLtQWrGHcfrP
|
||||||
|
vpzssjmVjVZWNZzzQwtQwccpQhgtQCct
|
||||||
|
qDdfLMnMrrTbBLqTqltlTfbGQnghgRwggGgRnhhccCJJcG
|
||||||
|
MtdLfSSSddMftlrjjzsSWVSjFvjNvs
|
||||||
|
qTRPpRPzJglzGJzpGRHWHljwDtbwffjtbhjfwNfHmwwf
|
||||||
|
SZLVdsvrrdFdBcdZvsBdDCNtbmftNwfNbNhCNvtz
|
||||||
|
MLzzddLsQRppRlQGPq
|
||||||
|
PDDpdJgtpppGgttgdGdgJFzLjVcvVnnCTrVrRPTLvwnTTC
|
||||||
|
ZSbHBsSNlZcsfNnnvRrnVjrHwvCC
|
||||||
|
NmSmsfsfhmzcDmctJW
|
||||||
|
NbrLfrrLqpqWQHtBzbFttJgcgB
|
||||||
|
CmwjPPjjjShPvljwvwwjPBFttBtcHzFJcHTRHJRRmT
|
||||||
|
CCljjDGhvPCVdVSCdPvrrNfnnQsGqMpqqMqnFW
|
||||||
|
bdPdbcDZlddsZbHjrrgrmZmCZhCGjv
|
||||||
|
BffLfLVFVMMBRfwMpfzhFGFhGWvWvrhNvvNj
|
||||||
|
RMBpRSnffBJjSbJqdPHsDcbqtl
|
||||||
|
BgwGwDDZttDDTNND
|
||||||
|
WzNNnFRWFtTFlFsh
|
||||||
|
WJjPpPqqzWRbrqnNqvVvgvvdcBwgdrVBZG
|
||||||
|
FFbMVMFPvJppgvcvrZMjHlCJWHmHHBlqhCmqChCl
|
||||||
|
RGQVdVVLnLsQnQnnqWBlBmDRBDWWlhBD
|
||||||
|
SftLzQndGfVgFfjvvM
|
||||||
|
npvLlFLTWWqdLnJCmBmmpjQjjmjB
|
||||||
|
tfgDwzwVVVVtgtrsJtrbjSPQjQmjNBCNBNhPHDHC
|
||||||
|
ggVzVtMRgzMrvJLqFnnRnnRT
|
||||||
|
gZFZssWgNZTDwHDWzsFwWDQMMpqqpBPMjFtMPSQFqqqM
|
||||||
|
vrmvhdnVvQpftStnMN
|
||||||
|
JCdLddhhdJdcCdrrmCGhlgNsWDWDwWsgwHgHLZHW
|
||||||
|
vSsSGjSPvjvRSGpFprFbqFpppRfp
|
||||||
|
ZdmlndtBZbwrwfpWFn
|
||||||
|
JmdHdBBHtgllZldBhJZldLLBjPVQTfvGPNzQQSjjzPgTGNTs
|
||||||
|
TjTjBjVrTsLRRrMBsMMgzLqGGqgQHQdCQGgpgd
|
||||||
|
nbZcmNnPNcbNftvhlhZpgQgCqdSpgCHCqPFzSH
|
||||||
|
WfcNvtmmNmQlvNcbsWWjMwMVMRDVMDJM
|
||||||
|
hHHnfZSwHDgHcfclSGSnvrnvBCvWWntvzvzbWWVq
|
||||||
|
dTJTmspFTsFdRRLvtvLzvvVqtPVtrb
|
||||||
|
VFMNFpRJNTppTpsJVRcMGgfGfgZwghgGfcGh
|
||||||
|
lLGvwsMJLCMVnTrCrVdHRd
|
||||||
|
tbzqtDNNBpNWBtqzfRrFFnrVTTdrQVSVGp
|
||||||
|
tztfzmfzzPDzgWNNBbhGMlJLsvhJJjGJhGmM
|
||||||
|
rHrVJQVQVJLggDQQLbTvdCCSTdWLLLbCbS
|
||||||
|
pNtnwPthmZGRpmPFtqbMSzqffFSdTvbSzW
|
||||||
|
GpvvshwtmwsZDljjssHjVBVj
|
||||||
|
SmhJdtJhhzQSrzVhtQbtBRNfnFNSnDNGRfFGGMgR
|
||||||
|
lHwqPjqwTjLHCWLvPpvNrNMvnNGNfNGNBffGRN
|
||||||
|
lCrPTrwpPZWlqPlqpWWqZjsmJzbzVtVhhdsJcQdddZVJ
|
||||||
|
QqpCWHdQdVQlWcQCqcfRjnZZZPDnSPqPhhqZ
|
||||||
|
tmmzgWGgwJwwStSZZDRnZssR
|
||||||
|
GbFbLLvgmMMwGgmLCrppQrWVlWrFTHHd
|
||||||
|
qdqCgSVdVSVqfwsdZhpJspZsph
|
||||||
|
RjZBbmRlrlmmJwLNNNhLpwhB
|
||||||
|
vZlRrtTZCzCMfSPT
|
||||||
|
JBjhCNwjrlJlHJJRsscZrTcvLLgTsLPP
|
||||||
|
dDztmntCSgbLgqTzgc
|
||||||
|
fGVWnSMFtVGMNNNQllBjWHJC
|
||||||
|
dSDhVVdVZtnSgHQGThQvFNQQqF
|
||||||
|
LcfLRpMpcBpbrJfsbsscBNWRNPRGHvqPdTGPGqPWFH
|
||||||
|
spmrCcrdJJpLLmcmLLLDlzSzCCjVwZVtgnSZzn
|
||||||
|
ZJtgPTHtZPZQGbtNzzprVWWVrbrpCD
|
||||||
|
BRlfcRmBhSMVBqSVfBvNWrDrjWCjjzprCDCl
|
||||||
|
LfMRSmfqfSLcnnMqVSfccnhZwJFHZFTGZQGFLggwZTZGPJ
|
||||||
|
BChWddRRRcfmDbfhDP
|
||||||
|
MgpMFFsvMfGwvLgPjQPzPPmDcztDtw
|
||||||
|
NFgJpqvpLgqFnWWVNSfnNSCR
|
||||||
|
zMMMRmMfJpfhpzQJLMVtjtjPntgBtlZlVgJP
|
||||||
|
SdNbZvZbvbHTNbZbSWTdrTVBglBDlWBjDPDgntPqBDPt
|
||||||
|
rrNcrFwNdSrfzwMzZMLQQs
|
||||||
|
JPmCSfHTGJdTCbHgpgqLgRhghhffhg
|
||||||
|
ZWSSFVSVFQghQvwpphgh
|
||||||
|
lsDtZjVMMSdCNdbGCbjb
|
||||||
|
PBQPvDvVVRvQDqLDzJTlzwjz
|
||||||
|
tGcZTcdgGcncdrFrsTjzJSJqJqqwHSzzSZwq
|
||||||
|
CgtgdFgcFCMnMgsGFGGQWPQpQTCBvbNpNVVWVT
|
||||||
|
FHVFWMHMgVhnLWWMpnppfcdZNcPplnfn
|
||||||
|
RSvSCBSqGgDRjqCpPlPpppTpPjlcNP
|
||||||
|
zRzsGgJDqJwLVWVFwM
|
||||||
|
ThhWhNthVWTWqbWbFWbTdBtWSdMlHSlGlCGCdsCMClmnSlMn
|
||||||
|
DPPpvvfDHfLgDHvzpvPDsssMsmmzsMcClScMMcGG
|
||||||
|
rgPLHHJJHgZfvvZQQZfrpfFqBBwFBTNTBNBwtthQwVqt
|
||||||
|
JJgSWDSmSDQCFrhbRLSwLS
|
||||||
|
VznqzVNsMsZLdqslbRChtbHdHRrwHb
|
||||||
|
LVfNLMsLTmWDpBpf
|
||||||
|
cbTsnNpcnnchllFQlMRgJhRP
|
||||||
|
WddmdMVSBMWSBWjwCJVCPRwPFCQRRC
|
||||||
|
DWSSfjdSrTpDnHHMbZ
|
||||||
|
fgsVqqwQQtHhCrDfJH
|
||||||
|
pvbnBZWBbvWbTdthrJbDmqrmHq
|
||||||
|
TvZSNSNNSvFMBpqpnLnTBZBFGQwlQFggcFzcVGRlswsRll
|
||||||
|
zfMcQHzPtRNvlllc
|
||||||
|
BLnMhbZMLJLNNVtCdNgZgt
|
||||||
|
BJGFpqMBhBLLMqnwBhbrbhLssjFzssjfDzsmFmjmQFQPjT
|
||||||
|
JPBJPnpBFrqBJHtjlCjHJcCthM
|
||||||
|
wQZggQWQGfZFVmmGfDRjlvvNcvlNDhcNttlctt
|
||||||
|
SfmWfwVFwVGZWQVGSTdTbBpTPSqBbLnnrn
|
||||||
|
RJqBRJbqpqqJGvqHMmcfczfcjvHQfm
|
||||||
|
llgVnSWSlsssTnlWjhTcsZMcZcZMZMcccMNmcH
|
||||||
|
TnFhhllnWCnVCTllLnhhVSrbDDPrdpjRRqjBPRBBpbFJ
|
||||||
|
mRwRRNDjNTqwDNjNnNRTsQLcQWpQWZJLlLpQWs
|
||||||
|
PMFGCSzzgbBVzCGShVQZcgWsQLLftttQtlZZ
|
||||||
|
SlGVldCGGbBPMhPCVSBrNNdjRqjDrNmDnmrRwN
|
||||||
|
mqGGqGHnqGBCMrnGCbbbLgTTFFNNghHNTj
|
||||||
|
SdRfcsDPPcDdRzWPWltSlscwTSbShhgpQhgbFLbTQFjwhN
|
||||||
|
DPWWZzzztsDDtfzlscsPdcWZnVMNVqqGJnBrVqCrMrVvZnBJ
|
||||||
|
ZgglFCrrrlrWCJswHmwRVmFSwSsP
|
||||||
|
zhzqBLcjjnpzMzjhTtcqnVGbwssVRmqbHNPbwPsVNH
|
||||||
|
ftBjzLtptRWdvZlQQZQf
|
||||||
|
nGpsMncVRMGSnfsBllZdppwrTljZrQ
|
||||||
|
gcgHmtbCthHWhwBFBWZBlWlWrd
|
||||||
|
bCDDqHhcqbbtqcqtvJMzsGRsvVfPsfnzJV
|
||||||
|
TclPvSGZsPZRjhjWDgjp
|
||||||
|
JtnwHFtJqtwfQfgWgRWhdhjtgdRM
|
||||||
|
JBwnHwgFFqVJrsGmPvNTPsVvSN
|
||||||
|
ZJnfZNnDNZJLzNntDtDNNzNWTVBPrrvRRGdBcVRfPPcvfdMr
|
||||||
|
CFgjFmggQSQQmSggVMMvRdTvBVRjrdrc
|
||||||
|
mbsqQFqFgwwmgmSbwQWWLDWzpLcLnzZzLbLL
|
||||||
|
PnwSFSLSTwbbHdtstW
|
||||||
|
RrDZVVfJNZCmDCfVDVlblZHbddtHScbWbMjt
|
||||||
|
NmzqhzCCqmzffhCCqrhhLLnPvpnTPPgpGTTBSL
|
||||||
|
ShhfLSDDFMPQddpMrDgNbjzffqqqzgcjbqZR
|
||||||
|
sCstmwJwVBtmTltVmTVbRbcbcRvqvrZvBRvZbR
|
||||||
|
VwCnwnVrrrWShWPHHDdQFL
|
||||||
|
pbpDpWjZMmFCmmmb
|
||||||
|
jTjtJLJgJncCFmnJFC
|
||||||
|
LvhvhTQhBSdRNtLNsSszlGrHSGjZDlGf
|
||||||
|
JrhvTNJJhhCrtVtcrNLwDBSBwqzDwQVbBLQS
|
||||||
|
RnCgHmHHGMdPsGMfDlDqlSQbQnQQDbzD
|
||||||
|
RdPMPsmWHmjfMffPcCWrptcprpFTFrFp
|
||||||
6
data/day04.test
Normal file
6
data/day04.test
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
2-4,6-8
|
||||||
|
2-3,4-5
|
||||||
|
5-7,7-9
|
||||||
|
2-8,3-7
|
||||||
|
6-6,4-6
|
||||||
|
2-6,4-8
|
||||||
1000
data/day04.txt
Normal file
1000
data/day04.txt
Normal file
File diff suppressed because it is too large
Load Diff
515
data/day05.txt
Normal file
515
data/day05.txt
Normal file
@@ -0,0 +1,515 @@
|
|||||||
|
[G] [W] [Q]
|
||||||
|
[Z] [Q] [M] [J] [F]
|
||||||
|
[V] [V] [S] [F] [N] [R]
|
||||||
|
[T] [F] [C] [H] [F] [W] [P]
|
||||||
|
[B] [L] [L] [J] [C] [V] [D] [V]
|
||||||
|
[J] [V] [F] [N] [T] [T] [C] [Z] [W]
|
||||||
|
[G] [R] [Q] [H] [Q] [W] [Z] [G] [B]
|
||||||
|
[R] [J] [S] [Z] [R] [S] [D] [L] [J]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 6 from 5 to 7
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 4 from 8 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 13 from 7 to 8
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 9 from 1 to 5
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 3 from 6 to 7
|
||||||
|
move 4 from 4 to 1
|
||||||
|
move 11 from 5 to 6
|
||||||
|
move 6 from 6 to 9
|
||||||
|
move 3 from 4 to 2
|
||||||
|
move 7 from 8 to 6
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 7 from 1 to 5
|
||||||
|
move 2 from 2 to 7
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 7 from 5 to 7
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 14 from 6 to 5
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 6 from 2 to 9
|
||||||
|
move 7 from 8 to 6
|
||||||
|
move 7 from 7 to 3
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 6 from 3 to 7
|
||||||
|
move 17 from 7 to 1
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 4 from 5 to 6
|
||||||
|
move 17 from 6 to 9
|
||||||
|
move 7 from 9 to 4
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 7 from 5 to 2
|
||||||
|
move 6 from 2 to 8
|
||||||
|
move 8 from 9 to 6
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 8 from 4 to 9
|
||||||
|
move 7 from 6 to 9
|
||||||
|
move 18 from 1 to 7
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 10 from 7 to 2
|
||||||
|
move 9 from 8 to 4
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 5 from 4 to 9
|
||||||
|
move 17 from 9 to 5
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 5 from 9 to 7
|
||||||
|
move 5 from 4 to 2
|
||||||
|
move 8 from 2 to 4
|
||||||
|
move 8 from 4 to 3
|
||||||
|
move 2 from 6 to 5
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 4 from 7 to 3
|
||||||
|
move 6 from 9 to 6
|
||||||
|
move 4 from 6 to 9
|
||||||
|
move 5 from 9 to 3
|
||||||
|
move 8 from 5 to 2
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 5 from 7 to 4
|
||||||
|
move 19 from 3 to 1
|
||||||
|
move 4 from 2 to 8
|
||||||
|
move 13 from 5 to 1
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 2 from 8 to 9
|
||||||
|
move 4 from 2 to 9
|
||||||
|
move 2 from 2 to 6
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 5 from 1 to 9
|
||||||
|
move 10 from 9 to 3
|
||||||
|
move 15 from 1 to 6
|
||||||
|
move 21 from 6 to 2
|
||||||
|
move 20 from 2 to 1
|
||||||
|
move 2 from 8 to 9
|
||||||
|
move 28 from 1 to 2
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 25 from 2 to 9
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 4 from 3 to 6
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 7 from 9 to 6
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 3 from 2 to 1
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 16 from 6 to 3
|
||||||
|
move 7 from 8 to 3
|
||||||
|
move 5 from 4 to 3
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 21 from 3 to 5
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 10 from 9 to 8
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 5 from 8 to 7
|
||||||
|
move 12 from 5 to 3
|
||||||
|
move 20 from 3 to 6
|
||||||
|
move 4 from 7 to 9
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 3 from 6 to 1
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 3 from 7 to 1
|
||||||
|
move 2 from 1 to 4
|
||||||
|
move 4 from 6 to 8
|
||||||
|
move 3 from 4 to 7
|
||||||
|
move 3 from 2 to 5
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 9 from 9 to 8
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 7 from 5 to 7
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 4 from 7 to 5
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 5 from 5 to 4
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 5 from 7 to 9
|
||||||
|
move 5 from 4 to 7
|
||||||
|
move 11 from 9 to 6
|
||||||
|
move 14 from 8 to 9
|
||||||
|
move 23 from 6 to 5
|
||||||
|
move 6 from 9 to 5
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 10 from 5 to 3
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 2 from 7 to 3
|
||||||
|
move 10 from 5 to 7
|
||||||
|
move 8 from 5 to 2
|
||||||
|
move 5 from 3 to 5
|
||||||
|
move 7 from 5 to 8
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 9 from 7 to 9
|
||||||
|
move 3 from 2 to 3
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 4 from 7 to 5
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 7 from 5 to 3
|
||||||
|
move 9 from 2 to 4
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 2 from 1 to 7
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 5 from 4 to 1
|
||||||
|
move 8 from 9 to 8
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 10 from 9 to 2
|
||||||
|
move 8 from 8 to 2
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 12 from 3 to 9
|
||||||
|
move 7 from 7 to 4
|
||||||
|
move 13 from 2 to 4
|
||||||
|
move 7 from 2 to 7
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 3 from 1 to 5
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 5 from 7 to 1
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 6 from 9 to 4
|
||||||
|
move 5 from 9 to 7
|
||||||
|
move 3 from 8 to 3
|
||||||
|
move 22 from 4 to 9
|
||||||
|
move 24 from 9 to 8
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 10 from 8 to 3
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 2 from 4 to 5
|
||||||
|
move 4 from 7 to 2
|
||||||
|
move 7 from 4 to 6
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 5 from 5 to 2
|
||||||
|
move 12 from 3 to 5
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 6 from 2 to 3
|
||||||
|
move 11 from 1 to 9
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 4 from 2 to 5
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 17 from 8 to 1
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 16 from 1 to 3
|
||||||
|
move 8 from 3 to 4
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 12 from 5 to 8
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 9 from 3 to 9
|
||||||
|
move 8 from 4 to 6
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 6 from 8 to 4
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 11 from 6 to 8
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 17 from 9 to 5
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 3 from 9 to 6
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 15 from 5 to 2
|
||||||
|
move 9 from 3 to 9
|
||||||
|
move 11 from 8 to 3
|
||||||
|
move 6 from 9 to 8
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 3 from 3 to 7
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 7 from 7 to 5
|
||||||
|
move 3 from 6 to 1
|
||||||
|
move 2 from 1 to 4
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 2 from 9 to 3
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 6 from 5 to 9
|
||||||
|
move 8 from 2 to 5
|
||||||
|
move 10 from 8 to 5
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 21 from 5 to 9
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 15 from 9 to 2
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 9 from 9 to 3
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 20 from 3 to 5
|
||||||
|
move 20 from 5 to 4
|
||||||
|
move 7 from 4 to 3
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 11 from 4 to 5
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 11 from 5 to 4
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 4 from 4 to 6
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 9 from 2 to 8
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 5 from 6 to 2
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 13 from 2 to 5
|
||||||
|
move 4 from 9 to 5
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 9 from 2 to 3
|
||||||
|
move 7 from 3 to 2
|
||||||
|
move 11 from 5 to 6
|
||||||
|
move 5 from 8 to 7
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 2 from 8 to 1
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 6 from 2 to 7
|
||||||
|
move 3 from 5 to 3
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 7 from 7 to 9
|
||||||
|
move 3 from 3 to 5
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 6 from 1 to 7
|
||||||
|
move 10 from 7 to 3
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 6 from 9 to 8
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 5 from 1 to 9
|
||||||
|
move 8 from 5 to 8
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 6 from 3 to 4
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 5 from 6 to 1
|
||||||
|
move 11 from 6 to 7
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 6 from 7 to 5
|
||||||
|
move 10 from 8 to 4
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 3 from 3 to 5
|
||||||
|
move 4 from 7 to 9
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 10 from 5 to 8
|
||||||
|
move 6 from 6 to 1
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 7 from 4 to 8
|
||||||
|
move 5 from 6 to 1
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 5 from 4 to 5
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 4 from 2 to 3
|
||||||
|
move 5 from 5 to 1
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 20 from 8 to 2
|
||||||
|
move 5 from 4 to 8
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 8 from 2 to 1
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 5 from 2 to 3
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 5 from 3 to 2
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 6 from 8 to 5
|
||||||
|
move 13 from 2 to 9
|
||||||
|
move 7 from 9 to 8
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 27 from 1 to 5
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 5 from 3 to 1
|
||||||
|
move 22 from 5 to 7
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 7 from 1 to 3
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 5 from 3 to 9
|
||||||
|
move 3 from 1 to 5
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 3 from 6 to 3
|
||||||
|
move 4 from 4 to 2
|
||||||
|
move 8 from 5 to 3
|
||||||
|
move 8 from 7 to 4
|
||||||
|
move 14 from 7 to 4
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 6 from 9 to 6
|
||||||
|
move 7 from 5 to 3
|
||||||
|
move 14 from 3 to 6
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 4 from 3 to 7
|
||||||
|
move 6 from 7 to 6
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 3 from 5 to 7
|
||||||
|
move 8 from 6 to 5
|
||||||
|
move 5 from 5 to 1
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 22 from 4 to 7
|
||||||
|
move 7 from 6 to 3
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 17 from 7 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 2 from 2 to 9
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 6 from 6 to 8
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 4 from 5 to 1
|
||||||
|
move 5 from 8 to 9
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 4 from 9 to 7
|
||||||
|
move 5 from 7 to 9
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 5 from 4 to 2
|
||||||
|
move 21 from 6 to 8
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 23 from 8 to 6
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 22 from 6 to 7
|
||||||
|
move 2 from 9 to 3
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 6 from 7 to 4
|
||||||
|
move 5 from 8 to 5
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 6 from 4 to 8
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 6 from 2 to 8
|
||||||
|
move 15 from 7 to 5
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 14 from 5 to 8
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 5 from 1 to 7
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 4 from 5 to 6
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 7 from 7 to 1
|
||||||
|
move 7 from 2 to 7
|
||||||
|
move 9 from 8 to 6
|
||||||
|
move 7 from 7 to 1
|
||||||
|
move 12 from 6 to 8
|
||||||
|
move 25 from 8 to 6
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 28 from 6 to 2
|
||||||
|
move 15 from 2 to 3
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 3 from 2 to 7
|
||||||
|
move 6 from 2 to 9
|
||||||
1
data/day06.txt
Normal file
1
data/day06.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
plhlsssjsrscspsffmrffwvfvrvvmbbnjnrnrfnndlnlznlznlnccdbbhvbvgvmvzmzvmzmbbrcclsslzslzzsztzftzzhggnjgnjnhnmnqnqqfdfnnrwnwsnwwvgvqqgpptvtrvvfmmzjzmmjssmwsmmhzzvvwzwcwrcrllpbppdgdvvwqvvsnsrnsncnwntnggwqgqhqrqprqrddjvddqsqhshchfffzddswdsshhcnhnqqfjffvlvwvssdqqwrwvrvhrvrzzgwggcjcgclcwchhzvzmzrrjwjqwwvbwwrmmvmpmzpzgpgsghgrrtmmlfmmnzzmpzzvmvjjsqqshqshsqqgtqggpvvrtttwbbhnbnlbnlnhnthtjhjshhrmrjjlclpprmrnrsrwrbwrwwjnwnbwbhbmbggdbgghllcvlvddzbdbdvdwvdvjvqvcvczvcvclvvrggrngrrwcwbcczgghnhznhnttbcbvcvttrrpbrppndppvvvgvtgvvhfvhhttppjmjllznlnldnldlwlnwlnlttgzzcfcggwmgmqgmmshmhqqdfqfpfqppprzrhrnrhnrrtsrrgpgnpngnqnmmrtrvtrrfccszszffvlfvlvssvdvvpggvcvscvvpmpgpqpfqqhttrhhsbhbqhhzggzrgrqrfqffwllggrgqqjzqzzsgglvgllsgllptltblbggvrggctczzllvsvcscrrzjrzzjnnbvvtntpntnvtntcntcnnwsnnnvjnnsccsddcvvgzgwggbnbwnwbwmwttzzsgzzjpzztwztwwhhzggplgplggwwwphpmmhchsccmwmttvjtjftffzbfffjljbbqvvstsggbbqrbqrbrhbbrmbmppvrpphptpggqgddtmdtmdmbbbcdbbgssmzzthhtjjrgjrgrzzchzhttgddjnjrjmjllrcrqqsvsjjjhvvphhgjhgjhjccwmcmjcmjmhmzznmmcbcscddcsssnppsnpnmnqmmtztftqtjtqqgvgvjjfnjffqbqbfqqwfqfcfsfttvccnssjvvpfvpvttvpvccwhwfwlwlclljqqststllgqgzqqfpflpplpssnntstqqpnnsrnsrrsvrsvsrvsrrtztmtptpcpssgnnfvflffscsqszzsppfnftfptfpfnfbbwzbzfbbtggrzrnntztnznhnnlbnbrbdddjhjchhdshhnzhnnsrnrrqwrrdsdlsstdsslqsqdqvqzvqvwqqlmmwzmwzwztzlzczhqfrclvgvnlchrggsrjhntctdbpfdcffwjngdvdrjmgvwvptlvlhvhshqphmrdznqbtchcvrwfrpvwhzmrwlcjwnrsgrqcbsgpwjthstvqzlwjjmqbvhhdfdsmqnmnswmwjtpgjhdpgcnvmlcjwjzrjhmrqmqnrqrmgdnbdgznwhgzncmcbzpntcdflvrbfdzwgpnqjqmrcqpbrzwhwdgtgshhmrwvhnrwslvcswjvdgglfrdvmqdspppwmvfzvdbvpcnhmvgfqwnvjvvzrvttwvbjrbjlllmwtlcltvqmwshnqsdtjrptvqjvdjgzwgzzhcdbwjzhdgsptfrtmmqvhsnsnpgwbncbnnvwmmrrjgfccbzcpcjmqvqsbvjrstzblsrngphwndfdswjnnnfdgpcbslvbjglqqnbbtjljsmdgcslmwlvgwpsqthlmmqfgpgmcvrpvvtzcjdrwcjgrbwthblwpwpbzvjvhzsphmfhfwvsthlfnhhfcmpsnmgrvrntlzpdvqwtrghnslnfhcjwrsvrngqqtwvcsfhbjwmsnmsmgvdhnzjgljtchbtwlfppvbtdclbdjdmwzcntvgfjlcwdplnjwqnzqhnfgcnbrgftqpdmqzrrhglbzzvjcdnbtfnvmsrbjdzhbqmhnsmprgvjzzgvllhqnzgpstqzcnlgsrcwzlhwqvcjlwnnjslmdtwqcpbrntrmrmmtscjwwtzjhghtqvvpldzvhtmspzlnlfgrfhmsndbdgpgvphwwgqhrtlwztgqqsrwnrnqphqfsrtbztqbrgmfbtpjwhhrglhbzmmjptppnfdzlpbqfcbdwzdtqbrvfmtdzdjlnzvqfnzmttpqgzgmrqwmdtmdzrttffpdlgwdhnlrhnnztphvrbzcrlvcpswlngcjhdzqwwwpzdmhhwpnzwgjsdsdbdvpfsrwmwvsggpcqbchwjpgljnbtpvjzbbvgsbsbjmtwtbjtzzsfvrmfvnmcngvvdsvljvjbrlfgstjrhtjplttzhjfbmphvbqdsmwfwspqpcvmgzgjnqlphshlgdwcvtmpwcfgdcbqwpnshfgrfjvlrtqbffwwtbnwtvjlsdgwgfmhlrsmfrjzcwccdzfwwdwhwdsjbllhjsqmnqvngvdmbvbssfjtjfbtngrdwgldcrtpmvrbrmpvwwsfrlnbqsqzfnftpbhslqccnbqwgbdbfpblpmwbgjzmnptnhdjzqjhdrhqbtfhsrdqwlmwzqlsmmslgfzpvtgtsrlszvqrhrzclbqhzzwwfmhrrvsrnsjbdjsqqlsmgdmgbdtmvfjmsbwjqmqrvrhqbchpqrwvlvwpvhjlbdzfjvrwmchccrsrfvhzmpfjqwnrbvqmgwjcbndjdtfgnrzrqwgzhrdvghdrvgtplcrthgchmvwtdrchfwpdszzzhqpmrlzvfdnfnlwghmmwvsscbrdbchhgttsnbzdbqgddqfvcgvqwltnqtcwrmhtftnlwvlglsvvctccnntznsjnmmgqlzmplsdspnjtmzlbvrfzfclnhgjzmvntdwhspqwtpgndspnjqjqwrpwhjhpvjwfptpndnwvcjdwsvdtcrtwpsprgmrspgmcsdgtjbbgsgvcjhrcldlvgvqwqwthplzgwbzmszjfrlnznvgphnqzcwsztvvljlrlzrndbzccstprhntnlmshhclnrsmsvvvsbmpfdjsmspwcqtmlrrdmfzjjjhmsmdfqddzpgtbzbsnhhhpsfrdrdvpvpnjmvnhdrzrqggrpqdcmctvqfrtfmjjqjwgzzbrdfplhzjbnqlmjlcgvmsbpgdlfjmbgqtrvzzdgtlmbqthjrdtlstqtzqvfjvmmstsmtsbnjvstjjvrrjqcbjvhfpslpvjmdznrcnsvlpbpzmslqtpczmvhdwzrhwbwtfvrrmbszvrhwsjrclcscgngwvblbbrqprgshwzhlqgwmpfsmqsvpjbdccdmtnnhqfwvlgjlszmmmdmtmpzwhplzsjztrnwngbvspqqbmghwzgvfjdrblfmtwcvnczsrflmsjmrsvzldmttjwcmnvwcbjfvznhgntnqfbfchcqqshhjldgltqhdlqldlpfjnjvtbvbntzdjzstcqbzdnmsvcdgvjmmvtdfvdplqfndqqlzlspmjgdfbgsvwzqzsvvbbldltbtzwzpqrzfmfzgdbpqnwtrfcgwmlbpzrgscbjvfdwnjzjdfzltsbppnljzrgggplmttpmgwnhdlwfhwzsrcflnrqqzwsbqllwjqlrgwbhvcvqdvjvpbzgnfbbbtccvplzggplbrsbldllwmttwtvltsfljfbbprtvlfshhwdhdgvzfzjttvnphpnjnzsbvfwflfpqwnhvwjdsrtbwsjzqhgfldnssfbbzzqqrwtjvwjschmndgqzjtpsbfhwtmqbtfstrbghgtnldjqtshdnrwzvwddchhvdbsfjnqzfjdpvhvwwjspftgbtgwzdfgzzhpvjpdlrrdfnpftshthwzjzmzdghnfdqcbmjhfdgzrcgrzbrjtmhwbjhcpgjdsmnqzncdlwhqqzqblgdbbdsmrqgbdbmdczvvpnbbjdwrlmrwgnnbbzpcnsjgcmshgzwnjzwjlrdmvmhvjrzphgpczppqvwjthcdphprhhrggjdpzmgtpjjfvpczzrvsssfrrptnzlstrhmbhvzmwjnddshrrtgspbllvqlsptrtvtldsgnjjbwtfmtbjdvmgbptjlzhpttjmvpgnjphswhtdq
|
||||||
23
data/day07.test
Normal file
23
data/day07.test
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
$ cd /
|
||||||
|
$ ls
|
||||||
|
dir a
|
||||||
|
14848514 b.txt
|
||||||
|
8504156 c.dat
|
||||||
|
dir d
|
||||||
|
$ cd a
|
||||||
|
$ ls
|
||||||
|
dir e
|
||||||
|
29116 f
|
||||||
|
2557 g
|
||||||
|
62596 h.lst
|
||||||
|
$ cd e
|
||||||
|
$ ls
|
||||||
|
584 i
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd d
|
||||||
|
$ ls
|
||||||
|
4060174 j
|
||||||
|
8033020 d.log
|
||||||
|
5626152 d.ext
|
||||||
|
7214296 k
|
||||||
980
data/day07.txt
Normal file
980
data/day07.txt
Normal file
@@ -0,0 +1,980 @@
|
|||||||
|
$ cd /
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir mhfrct
|
||||||
|
dir pgmgbfcl
|
||||||
|
dir qcf
|
||||||
|
dir wrsjr
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
8827 vdrdm.pfj
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
dir czpmg
|
||||||
|
162385 dcgph
|
||||||
|
7135 hff.cdt
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
121543 gzjdsn.wlc
|
||||||
|
dir ljq
|
||||||
|
$ cd ljq
|
||||||
|
$ ls
|
||||||
|
dir cwlrlvf
|
||||||
|
dir jpqjhhpg
|
||||||
|
$ cd cwlrlvf
|
||||||
|
$ ls
|
||||||
|
151219 dcgph
|
||||||
|
$ cd ..
|
||||||
|
$ cd jpqjhhpg
|
||||||
|
$ ls
|
||||||
|
188355 dcgph
|
||||||
|
38458 gfgl.hlg
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd czpmg
|
||||||
|
$ ls
|
||||||
|
168232 dcgph
|
||||||
|
143031 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd mhfrct
|
||||||
|
$ ls
|
||||||
|
dir clm
|
||||||
|
66710 dcgph
|
||||||
|
232576 mtfhpcnj
|
||||||
|
$ cd clm
|
||||||
|
$ ls
|
||||||
|
dir pgmgbfcl
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
110296 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
163613 cgchl
|
||||||
|
dir nnlr
|
||||||
|
123977 rrwbnmlh.jtt
|
||||||
|
dir tjhzggs
|
||||||
|
dir wfl
|
||||||
|
252837 wpgrl
|
||||||
|
$ cd nnlr
|
||||||
|
$ ls
|
||||||
|
103051 flp
|
||||||
|
dir qrhlzd
|
||||||
|
dir rcgmhz
|
||||||
|
dir snwrlr
|
||||||
|
dir vgj
|
||||||
|
dir znbzt
|
||||||
|
$ cd qrhlzd
|
||||||
|
$ ls
|
||||||
|
dir crg
|
||||||
|
246915 dcgph
|
||||||
|
264791 fcphzfb.fmb
|
||||||
|
299291 flp
|
||||||
|
dir mjqsg
|
||||||
|
297202 pgmgbfcl
|
||||||
|
dir sbbzgbz
|
||||||
|
dir wnsnssbg
|
||||||
|
$ cd crg
|
||||||
|
$ ls
|
||||||
|
55556 flp
|
||||||
|
185529 jswdvn
|
||||||
|
$ cd ..
|
||||||
|
$ cd mjqsg
|
||||||
|
$ ls
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir jfbzjz
|
||||||
|
dir rwg
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
24945 cctwbs
|
||||||
|
170960 csjncqmr
|
||||||
|
316168 ljffgvvz.zld
|
||||||
|
187325 pgmgbfcl.fzv
|
||||||
|
74133 qbfhj.tmn
|
||||||
|
dir tjhzggs
|
||||||
|
dir vjmgmdz
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
287777 csjncqmr.nbd
|
||||||
|
$ cd ..
|
||||||
|
$ cd vjmgmdz
|
||||||
|
$ ls
|
||||||
|
dir vgpb
|
||||||
|
$ cd vgpb
|
||||||
|
$ ls
|
||||||
|
202578 bbbg.hlr
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
207736 tjhzggs.cql
|
||||||
|
$ cd ..
|
||||||
|
$ cd rwg
|
||||||
|
$ ls
|
||||||
|
184997 csjncqmr
|
||||||
|
4378 dcgph
|
||||||
|
55767 qnc.wvv
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd sbbzgbz
|
||||||
|
$ ls
|
||||||
|
321376 csjncqmr
|
||||||
|
317438 flp
|
||||||
|
9263 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd wnsnssbg
|
||||||
|
$ ls
|
||||||
|
dir jdjv
|
||||||
|
$ cd jdjv
|
||||||
|
$ ls
|
||||||
|
153354 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd rcgmhz
|
||||||
|
$ ls
|
||||||
|
dir tjhzggs
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
299192 jfbzjz.ttg
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd snwrlr
|
||||||
|
$ ls
|
||||||
|
30314 csjncqmr.jvn
|
||||||
|
dir hcf
|
||||||
|
$ cd hcf
|
||||||
|
$ ls
|
||||||
|
81979 jfbzjz.pfz
|
||||||
|
179459 ngh
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd vgj
|
||||||
|
$ ls
|
||||||
|
278579 jbn.rgz
|
||||||
|
dir jzj
|
||||||
|
dir lnbhh
|
||||||
|
dir pgmgbfcl
|
||||||
|
dir qgvspcpm
|
||||||
|
$ cd jzj
|
||||||
|
$ ls
|
||||||
|
295808 hrs
|
||||||
|
220437 vqbcl
|
||||||
|
$ cd ..
|
||||||
|
$ cd lnbhh
|
||||||
|
$ ls
|
||||||
|
212203 nfmhd.hbq
|
||||||
|
233853 qgz.mcd
|
||||||
|
$ cd ..
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
dir mmbdpj
|
||||||
|
138462 mwcdrpm.spr
|
||||||
|
288430 pgmgbfcl.pwd
|
||||||
|
132880 rdmwtn.qjj
|
||||||
|
41775 rfqb.djh
|
||||||
|
dir rnd
|
||||||
|
69597 thnbf
|
||||||
|
$ cd mmbdpj
|
||||||
|
$ ls
|
||||||
|
158542 hrs
|
||||||
|
306559 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd rnd
|
||||||
|
$ ls
|
||||||
|
223745 fnfjhvsp.hgt
|
||||||
|
138236 gdmtnffs.cdm
|
||||||
|
dir gmzb
|
||||||
|
dir hvl
|
||||||
|
266178 mzwmjl.rqq
|
||||||
|
dir njpq
|
||||||
|
33906 qbfhj.tmn
|
||||||
|
dir tjhzggs
|
||||||
|
$ cd gmzb
|
||||||
|
$ ls
|
||||||
|
186579 nsbfn.lsd
|
||||||
|
$ cd ..
|
||||||
|
$ cd hvl
|
||||||
|
$ ls
|
||||||
|
312925 csjncqmr.sbc
|
||||||
|
75264 gqp
|
||||||
|
81003 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd njpq
|
||||||
|
$ ls
|
||||||
|
188139 lbnrr.pwd
|
||||||
|
213545 qgqddvwf.hfl
|
||||||
|
$ cd ..
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
dir dlwvc
|
||||||
|
191782 jfbzjz
|
||||||
|
dir tbldpln
|
||||||
|
$ cd dlwvc
|
||||||
|
$ ls
|
||||||
|
75927 jvhjtnft
|
||||||
|
260563 qbfhj.tmn
|
||||||
|
dir vlg
|
||||||
|
$ cd vlg
|
||||||
|
$ ls
|
||||||
|
187660 hgm
|
||||||
|
dir rhr
|
||||||
|
273019 tdgr.crr
|
||||||
|
$ cd rhr
|
||||||
|
$ ls
|
||||||
|
286129 wnn.jgn
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd tbldpln
|
||||||
|
$ ls
|
||||||
|
173546 pdfrsq.pnb
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd qgvspcpm
|
||||||
|
$ ls
|
||||||
|
dir dhrbsl
|
||||||
|
286566 fldhvbq
|
||||||
|
209725 gzjdsn.wlc
|
||||||
|
148148 nspz.gwc
|
||||||
|
111003 tjhzggs
|
||||||
|
$ cd dhrbsl
|
||||||
|
$ ls
|
||||||
|
58390 gzjdsn.wlc
|
||||||
|
150545 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd znbzt
|
||||||
|
$ ls
|
||||||
|
211651 gwhb.mfz
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
dir hgr
|
||||||
|
229076 jfbzjz.dfh
|
||||||
|
dir ptfcbwwv
|
||||||
|
51893 qbfhj.tmn
|
||||||
|
97712 qgtvfh.hvs
|
||||||
|
$ cd hgr
|
||||||
|
$ ls
|
||||||
|
dir hwvgjdq
|
||||||
|
dir vwvbt
|
||||||
|
$ cd hwvgjdq
|
||||||
|
$ ls
|
||||||
|
dir pgmgbfcl
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
dir qgs
|
||||||
|
$ cd qgs
|
||||||
|
$ ls
|
||||||
|
188108 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd vwvbt
|
||||||
|
$ ls
|
||||||
|
169212 tfrm.gjb
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ptfcbwwv
|
||||||
|
$ ls
|
||||||
|
67829 lpszzl
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wfl
|
||||||
|
$ ls
|
||||||
|
dir hfcm
|
||||||
|
$ cd hfcm
|
||||||
|
$ ls
|
||||||
|
73872 flp
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd qcf
|
||||||
|
$ ls
|
||||||
|
dir ctjw
|
||||||
|
177175 dwzmnpr
|
||||||
|
dir fqldn
|
||||||
|
dir hmjnnjjj
|
||||||
|
301788 hrs
|
||||||
|
dir lgmld
|
||||||
|
dir pgmgbfcl
|
||||||
|
76771 qzsbm.zdb
|
||||||
|
dir scbgn
|
||||||
|
234764 vhrlgcf
|
||||||
|
$ cd ctjw
|
||||||
|
$ ls
|
||||||
|
139505 mflt.hnr
|
||||||
|
$ cd ..
|
||||||
|
$ cd fqldn
|
||||||
|
$ ls
|
||||||
|
dir bgq
|
||||||
|
7260 flgrh.tmt
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir fnr
|
||||||
|
dir gsnqjmw
|
||||||
|
10529 gzjdsn.wlc
|
||||||
|
22877 hrs
|
||||||
|
dir hzbrgrfq
|
||||||
|
dir snmbwrzn
|
||||||
|
dir tjhzggs
|
||||||
|
6773 tzhsjsc
|
||||||
|
$ cd bgq
|
||||||
|
$ ls
|
||||||
|
40780 gzjdsn.wlc
|
||||||
|
233301 mnzdbpc
|
||||||
|
dir mpdjgbgf
|
||||||
|
303076 qbfhj.tmn
|
||||||
|
dir qjs
|
||||||
|
189723 sbzn.dtj
|
||||||
|
dir vhnqcrd
|
||||||
|
$ cd mpdjgbgf
|
||||||
|
$ ls
|
||||||
|
227105 dcgph
|
||||||
|
298219 dprcwts.vdt
|
||||||
|
$ cd ..
|
||||||
|
$ cd qjs
|
||||||
|
$ ls
|
||||||
|
214072 pgmgbfcl
|
||||||
|
264897 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd vhnqcrd
|
||||||
|
$ ls
|
||||||
|
178950 fnfjhvsp
|
||||||
|
180561 pgmgbfcl.mst
|
||||||
|
312980 pgmgbfcl.twp
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
141191 fnfjhvsp.bng
|
||||||
|
81709 pgmgbfcl.sfw
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnr
|
||||||
|
$ ls
|
||||||
|
316638 flp
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir fqdnn
|
||||||
|
267054 gdnln
|
||||||
|
dir hfcrzwvm
|
||||||
|
dir rdljd
|
||||||
|
319112 wpcmfbr.zgp
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
115581 hrs
|
||||||
|
dir jfbzjz
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
170398 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd fqdnn
|
||||||
|
$ ls
|
||||||
|
dir cfg
|
||||||
|
dir jbjltw
|
||||||
|
$ cd cfg
|
||||||
|
$ ls
|
||||||
|
dir qljztr
|
||||||
|
dir tnsw
|
||||||
|
dir zhnqp
|
||||||
|
$ cd qljztr
|
||||||
|
$ ls
|
||||||
|
64638 bnlsrfb
|
||||||
|
63440 csjncqmr
|
||||||
|
206111 gzjdsn.wlc
|
||||||
|
207890 hrs
|
||||||
|
265995 pgmgbfcl.zcw
|
||||||
|
$ cd ..
|
||||||
|
$ cd tnsw
|
||||||
|
$ ls
|
||||||
|
85166 lsflqzmc
|
||||||
|
$ cd ..
|
||||||
|
$ cd zhnqp
|
||||||
|
$ ls
|
||||||
|
217666 csjncqmr.cch
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd jbjltw
|
||||||
|
$ ls
|
||||||
|
88043 dcgph
|
||||||
|
238483 hrs
|
||||||
|
189734 jnvwjs
|
||||||
|
243936 pgmgbfcl.wsr
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd hfcrzwvm
|
||||||
|
$ ls
|
||||||
|
dir vwc
|
||||||
|
$ cd vwc
|
||||||
|
$ ls
|
||||||
|
82566 shc.qhj
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd rdljd
|
||||||
|
$ ls
|
||||||
|
68011 ptw.bgd
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd gsnqjmw
|
||||||
|
$ ls
|
||||||
|
236818 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd hzbrgrfq
|
||||||
|
$ ls
|
||||||
|
240924 dcgph
|
||||||
|
dir dcjsv
|
||||||
|
dir dsrzdjfm
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir hnzm
|
||||||
|
dir mqb
|
||||||
|
94014 smpnth.bbm
|
||||||
|
$ cd dcjsv
|
||||||
|
$ ls
|
||||||
|
316708 cmddvb
|
||||||
|
dir fnfjhvsp
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
dir fnfjhvsp
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
dir jqlcvds
|
||||||
|
$ cd jqlcvds
|
||||||
|
$ ls
|
||||||
|
51018 dqfbq.ggm
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd dsrzdjfm
|
||||||
|
$ ls
|
||||||
|
262938 csjncqmr.dmm
|
||||||
|
125129 mwcnlvhv.szp
|
||||||
|
150590 qbfhj.tmn
|
||||||
|
dir rrrzpsn
|
||||||
|
196430 vbdgb
|
||||||
|
dir vsfbwfdl
|
||||||
|
$ cd rrrzpsn
|
||||||
|
$ ls
|
||||||
|
dir tjhzggs
|
||||||
|
281655 tjhzggs.btg
|
||||||
|
dir tsjzf
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
291402 gbl
|
||||||
|
dir hctmr
|
||||||
|
dir hqdmpwl
|
||||||
|
225075 hrs
|
||||||
|
dir jfbzjz
|
||||||
|
51032 tjhzggs.qzr
|
||||||
|
$ cd hctmr
|
||||||
|
$ ls
|
||||||
|
113430 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd hqdmpwl
|
||||||
|
$ ls
|
||||||
|
67634 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
193552 nmvl.tzj
|
||||||
|
197076 pgmgbfcl
|
||||||
|
11047 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd tsjzf
|
||||||
|
$ ls
|
||||||
|
36205 jwmdtdjv
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd vsfbwfdl
|
||||||
|
$ ls
|
||||||
|
288660 flp
|
||||||
|
185921 jfbzjz
|
||||||
|
dir mqmvtddt
|
||||||
|
124423 nfbfq.dln
|
||||||
|
dir wzbc
|
||||||
|
$ cd mqmvtddt
|
||||||
|
$ ls
|
||||||
|
85529 bhjp.vvj
|
||||||
|
$ cd ..
|
||||||
|
$ cd wzbc
|
||||||
|
$ ls
|
||||||
|
77316 flp
|
||||||
|
271730 pgmgbfcl.lcd
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
47666 mpwtvwd.fwr
|
||||||
|
$ cd ..
|
||||||
|
$ cd hnzm
|
||||||
|
$ ls
|
||||||
|
157672 flp
|
||||||
|
294957 gzjdsn.wlc
|
||||||
|
297187 lbssg
|
||||||
|
24223 qbfhj.tmn
|
||||||
|
dir rdnqrgt
|
||||||
|
177449 tld.tsd
|
||||||
|
$ cd rdnqrgt
|
||||||
|
$ ls
|
||||||
|
dir nltjzrrr
|
||||||
|
217347 vrb.gcd
|
||||||
|
$ cd nltjzrrr
|
||||||
|
$ ls
|
||||||
|
dir zzd
|
||||||
|
$ cd zzd
|
||||||
|
$ ls
|
||||||
|
47464 flp
|
||||||
|
dir fnfjhvsp
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
89424 qtzfddz.btd
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd mqb
|
||||||
|
$ ls
|
||||||
|
105537 tjhzggs.wns
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd snmbwrzn
|
||||||
|
$ ls
|
||||||
|
dir mqt
|
||||||
|
dir nsdrn
|
||||||
|
dir rjn
|
||||||
|
$ cd mqt
|
||||||
|
$ ls
|
||||||
|
233842 pgmgbfcl
|
||||||
|
$ cd ..
|
||||||
|
$ cd nsdrn
|
||||||
|
$ ls
|
||||||
|
67018 dcgph
|
||||||
|
17296 flp
|
||||||
|
274166 gzjdsn.wlc
|
||||||
|
186308 jfbzjz
|
||||||
|
280195 lvbsrvwm.zlq
|
||||||
|
dir pjv
|
||||||
|
dir thlp
|
||||||
|
$ cd pjv
|
||||||
|
$ ls
|
||||||
|
123190 rfbj.gmq
|
||||||
|
$ cd ..
|
||||||
|
$ cd thlp
|
||||||
|
$ ls
|
||||||
|
141308 flp
|
||||||
|
188164 jfbzjz
|
||||||
|
299013 pgmgbfcl
|
||||||
|
171259 qbfhj.tmn
|
||||||
|
dir qsljb
|
||||||
|
$ cd qsljb
|
||||||
|
$ ls
|
||||||
|
291980 glcnlj.swh
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd rjn
|
||||||
|
$ ls
|
||||||
|
181047 fqmhpg.hpl
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
274202 fhfjvdjc.swt
|
||||||
|
dir fnfjhvsp
|
||||||
|
97050 frbpp.wch
|
||||||
|
dir gnbtgdr
|
||||||
|
dir jfbzjz
|
||||||
|
dir lpg
|
||||||
|
dir pgmgbfcl
|
||||||
|
dir twcdfdcv
|
||||||
|
dir wzd
|
||||||
|
dir zllcflrn
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
dir chpmwsfj
|
||||||
|
dir csjncqmr
|
||||||
|
57088 fnfjhvsp.jqg
|
||||||
|
52097 vgcm.dpv
|
||||||
|
$ cd chpmwsfj
|
||||||
|
$ ls
|
||||||
|
279480 tjhzggs.srw
|
||||||
|
$ cd ..
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
13716 dcgph
|
||||||
|
dir fqb
|
||||||
|
dir jfbzjz
|
||||||
|
dir msvlnt
|
||||||
|
88312 pgmgbfcl.qcf
|
||||||
|
$ cd fqb
|
||||||
|
$ ls
|
||||||
|
dir mmjfbvq
|
||||||
|
$ cd mmjfbvq
|
||||||
|
$ ls
|
||||||
|
79822 flp
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
302531 csjncqmr
|
||||||
|
164326 dcgph
|
||||||
|
8277 fnfjhvsp.rbv
|
||||||
|
dir jgsrgrtc
|
||||||
|
dir zwdgcd
|
||||||
|
$ cd jgsrgrtc
|
||||||
|
$ ls
|
||||||
|
60317 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd zwdgcd
|
||||||
|
$ ls
|
||||||
|
171967 fpls.fvd
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd msvlnt
|
||||||
|
$ ls
|
||||||
|
83178 cnhzh
|
||||||
|
11226 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
89882 dcgph
|
||||||
|
212817 qbfhj.tmn
|
||||||
|
257899 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd gnbtgdr
|
||||||
|
$ ls
|
||||||
|
dir flltghn
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir jfbzjz
|
||||||
|
300698 ngcsnwb
|
||||||
|
292809 qtcqhdq
|
||||||
|
dir vbwjgf
|
||||||
|
280270 wbzcr.sgn
|
||||||
|
$ cd flltghn
|
||||||
|
$ ls
|
||||||
|
111452 rhgfv
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
dir lbznfb
|
||||||
|
31273 nrtrqqc.cth
|
||||||
|
$ cd lbznfb
|
||||||
|
$ ls
|
||||||
|
175736 ljpr.cwm
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
237625 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd vbwjgf
|
||||||
|
$ ls
|
||||||
|
269242 jrrw.ljb
|
||||||
|
106705 pqnbrbt
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
dir dnn
|
||||||
|
$ cd dnn
|
||||||
|
$ ls
|
||||||
|
19045 dcgph
|
||||||
|
187257 tjhzggs.qzg
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd lpg
|
||||||
|
$ ls
|
||||||
|
101509 fnfjhvsp.nnt
|
||||||
|
221211 ldgjngjq
|
||||||
|
$ cd ..
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
dir bzbdphz
|
||||||
|
37920 flp
|
||||||
|
dir wpsm
|
||||||
|
$ cd bzbdphz
|
||||||
|
$ ls
|
||||||
|
252099 ffsfqfdw
|
||||||
|
312106 htft
|
||||||
|
298880 jfbvz.znw
|
||||||
|
135204 lrwccthr
|
||||||
|
dir zhbqf
|
||||||
|
108144 zsbbfhz.drr
|
||||||
|
$ cd zhbqf
|
||||||
|
$ ls
|
||||||
|
dir gtw
|
||||||
|
298022 svpgsrgj.ljz
|
||||||
|
$ cd gtw
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
dir rpzjg
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
278962 flp
|
||||||
|
272127 tjhzggs
|
||||||
|
$ cd ..
|
||||||
|
$ cd rpzjg
|
||||||
|
$ ls
|
||||||
|
92241 flp
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wpsm
|
||||||
|
$ ls
|
||||||
|
15936 flp
|
||||||
|
241514 qbfhj.tmn
|
||||||
|
245049 rjgwzlq.qrw
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd twcdfdcv
|
||||||
|
$ ls
|
||||||
|
140758 bjm
|
||||||
|
78772 dcgph
|
||||||
|
114059 mqsgrc.qcb
|
||||||
|
$ cd ..
|
||||||
|
$ cd wzd
|
||||||
|
$ ls
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir mcbnp
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
72702 csjncqmr.jfn
|
||||||
|
120586 dcgph
|
||||||
|
$ cd ..
|
||||||
|
$ cd mcbnp
|
||||||
|
$ ls
|
||||||
|
12494 fnfjhvsp.frc
|
||||||
|
182092 gsv
|
||||||
|
17859 pdbvmblc.vng
|
||||||
|
116984 pfbdf
|
||||||
|
113843 prshrmg.srm
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd zllcflrn
|
||||||
|
$ ls
|
||||||
|
30966 flp
|
||||||
|
245820 jfbzjz.rnd
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd hmjnnjjj
|
||||||
|
$ ls
|
||||||
|
134366 dcgph
|
||||||
|
212399 dtsb
|
||||||
|
255795 zhbcjtr
|
||||||
|
$ cd ..
|
||||||
|
$ cd lgmld
|
||||||
|
$ ls
|
||||||
|
55248 pgmgbfcl
|
||||||
|
62265 pgmgbfcl.nbg
|
||||||
|
240733 zhmff
|
||||||
|
$ cd ..
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
232717 fnfjhvsp
|
||||||
|
219581 gtcjbwpz.lmz
|
||||||
|
47399 gzjdsn.wlc
|
||||||
|
22814 hjqf
|
||||||
|
296672 hrs
|
||||||
|
dir nrzf
|
||||||
|
dir wqgcmnpp
|
||||||
|
dir wwvmdjz
|
||||||
|
dir zlhv
|
||||||
|
$ cd nrzf
|
||||||
|
$ ls
|
||||||
|
18406 dcgph
|
||||||
|
dir mhm
|
||||||
|
$ cd mhm
|
||||||
|
$ ls
|
||||||
|
95168 pgmgbfcl.hqv
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wqgcmnpp
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
189963 dvcd.tnh
|
||||||
|
dir gzqrt
|
||||||
|
dir njffft
|
||||||
|
dir qvqp
|
||||||
|
6981 tjhzggs
|
||||||
|
dir wgfnlfsd
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
307371 cdptrw.rfm
|
||||||
|
$ cd ..
|
||||||
|
$ cd gzqrt
|
||||||
|
$ ls
|
||||||
|
dir pwsqss
|
||||||
|
$ cd pwsqss
|
||||||
|
$ ls
|
||||||
|
173397 flp
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd njffft
|
||||||
|
$ ls
|
||||||
|
dir bzhzg
|
||||||
|
dir tjhzggs
|
||||||
|
$ cd bzhzg
|
||||||
|
$ ls
|
||||||
|
213821 pgmgbfcl
|
||||||
|
$ cd ..
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
dir szvfzgj
|
||||||
|
$ cd szvfzgj
|
||||||
|
$ ls
|
||||||
|
196306 tjhzggs.hjh
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd qvqp
|
||||||
|
$ ls
|
||||||
|
dir pgmgbfcl
|
||||||
|
$ cd pgmgbfcl
|
||||||
|
$ ls
|
||||||
|
114456 flp
|
||||||
|
252954 pgmgbfcl
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wgfnlfsd
|
||||||
|
$ ls
|
||||||
|
212011 gzjdsn.wlc
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wwvmdjz
|
||||||
|
$ ls
|
||||||
|
70022 dcgph
|
||||||
|
dir hjgvstp
|
||||||
|
dir jhgb
|
||||||
|
276853 qbfhj.tmn
|
||||||
|
242756 qdqswjjd.wnn
|
||||||
|
dir tjhzggs
|
||||||
|
292963 wcgmgmz.shb
|
||||||
|
$ cd hjgvstp
|
||||||
|
$ ls
|
||||||
|
24056 tdjwdw
|
||||||
|
$ cd ..
|
||||||
|
$ cd jhgb
|
||||||
|
$ ls
|
||||||
|
90571 gzjdsn.wlc
|
||||||
|
132326 rrvfml.dms
|
||||||
|
$ cd ..
|
||||||
|
$ cd tjhzggs
|
||||||
|
$ ls
|
||||||
|
29139 dmrsz.qhc
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd zlhv
|
||||||
|
$ ls
|
||||||
|
315120 dcgph
|
||||||
|
290175 pgvlcvpb
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd scbgn
|
||||||
|
$ ls
|
||||||
|
258300 bcchv.qsn
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd wrsjr
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
dir jfbzjz
|
||||||
|
dir nmfmqb
|
||||||
|
dir svgtrz
|
||||||
|
dir zjvhmd
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
148619 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd jfbzjz
|
||||||
|
$ ls
|
||||||
|
dir csjncqmr
|
||||||
|
dir flrhpzt
|
||||||
|
dir fnfjhvsp
|
||||||
|
dir gpwv
|
||||||
|
dir lwrtc
|
||||||
|
$ cd csjncqmr
|
||||||
|
$ ls
|
||||||
|
dir czmlfmf
|
||||||
|
137365 flp
|
||||||
|
dir hggbs
|
||||||
|
107369 mpgm.lbl
|
||||||
|
$ cd czmlfmf
|
||||||
|
$ ls
|
||||||
|
dir hnpjvq
|
||||||
|
$ cd hnpjvq
|
||||||
|
$ ls
|
||||||
|
41339 fnfjhvsp.wnv
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd hggbs
|
||||||
|
$ ls
|
||||||
|
273367 qbfhj.tmn
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd flrhpzt
|
||||||
|
$ ls
|
||||||
|
200923 fwb
|
||||||
|
62059 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd fnfjhvsp
|
||||||
|
$ ls
|
||||||
|
dir gdnmpgn
|
||||||
|
256037 hrs
|
||||||
|
$ cd gdnmpgn
|
||||||
|
$ ls
|
||||||
|
64024 jmww.gbb
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd gpwv
|
||||||
|
$ ls
|
||||||
|
159155 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd lwrtc
|
||||||
|
$ ls
|
||||||
|
150299 nzvqj.dsv
|
||||||
|
129702 pgmgbfcl.lrt
|
||||||
|
dir zvgb
|
||||||
|
$ cd zvgb
|
||||||
|
$ ls
|
||||||
|
304137 hrs
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd nmfmqb
|
||||||
|
$ ls
|
||||||
|
139823 jfbzjz
|
||||||
|
299946 nqqscdn.wsw
|
||||||
|
$ cd ..
|
||||||
|
$ cd svgtrz
|
||||||
|
$ ls
|
||||||
|
dir jdlvtm
|
||||||
|
123801 phhrgrbs
|
||||||
|
$ cd jdlvtm
|
||||||
|
$ ls
|
||||||
|
267972 tbgcnf.pqz
|
||||||
|
$ cd ..
|
||||||
|
$ cd ..
|
||||||
|
$ cd zjvhmd
|
||||||
|
$ ls
|
||||||
|
287427 csjncqmr.tfj
|
||||||
|
297578 hhhp.jvt
|
||||||
5
data/day08.test
Normal file
5
data/day08.test
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
30373
|
||||||
|
25512
|
||||||
|
65332
|
||||||
|
33549
|
||||||
|
35390
|
||||||
99
data/day08.txt
Normal file
99
data/day08.txt
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
113003322412033102023303501444545044215232525401341546163452453404402234201151432242402140110220101
|
||||||
|
332001304022012142421445502213221330453061535265122314201352335233021055055200345412200440033322200
|
||||||
|
011113132214324432134325045311145402450516101640412524056254134552334050434552541351100000142223210
|
||||||
|
120100233011423423144030334144351644642605521663331053414601341464201040045104150001214204243212330
|
||||||
|
032313022420343002352401031112122630544621450306410014210122655033613410314450242104133332033433110
|
||||||
|
330133431221024552500405304311611205251454505525065601244143364343441153320511500334525320443331122
|
||||||
|
232021314224321045040222145130205324423110304256225426345644345334310200416004113133521143332200422
|
||||||
|
312322022143422250013255366221252062135020112327134227764002156152041134323314242255102200014240004
|
||||||
|
212411010402324310541162616440606266620317315234166112525535542054554446314636025435501101142314410
|
||||||
|
130420010020500305012262532345565125253527765422533261626735742433241362062404452514044512024131310
|
||||||
|
241211034142224054050344306633445512263575724527746635663111434536510100261040501431453540340134211
|
||||||
|
241313213114241230212646636605641533121654131662127125143714342377771455431346140255405303533314030
|
||||||
|
200214302143123545226333105604234323144236661442633717414531213335635263423430225510502553055320124
|
||||||
|
432210433113545424321340236152364457166745737761176472274142327714574465315263302246430530531052340
|
||||||
|
044321111115013046066155407144655275272121513224325736736453741437462322257332111603344504052313220
|
||||||
|
423214232334431334032453034121465736632235428586864276787383246667147623517713521254056250023050122
|
||||||
|
341124205512002021001520535463145337475482376656634323542842654415315313467514115356311404235042224
|
||||||
|
132001402100660310301501776141144746672773424257875288227677277663442356545463514004411150412531212
|
||||||
|
001052001350350313612735275534436625275423778573334245773528222523563225127612470242660400232440014
|
||||||
|
000112513501320042013743116251356437388536835723273464367352632733656224242323651012010230151310024
|
||||||
|
432343513243516355144362617334462875826626872624526547773732534284688857151541627654520220114445210
|
||||||
|
030155000415201011165562424113226826748747748853864385358746645352362468546644524342115335322112153
|
||||||
|
521354124325146425431532157187775456325686557739354768338786565328828884835715454276200630310531024
|
||||||
|
453541003326165663116714725533384334462564846638857736639973473868246353547315725644665433532024310
|
||||||
|
550412430051564655211263423273445384473677893666497965987545884578247877687261326676604334421513240
|
||||||
|
413054444206603631433161684337566624388758573363447988796769799695582635658423643315241325425634024
|
||||||
|
215150330040102563666211553675525355868889739969438648979533595459347577832874756321426443250541325
|
||||||
|
421424650534663421741533522275548697677937396576933765698789956783468276533784535453223333266121254
|
||||||
|
422144151564541614312463257866683347483647399747895987469373443743399762878755625665635533442122100
|
||||||
|
142126413036631514413457664863683937946499766465555784756389698779343558673226534437441452602242233
|
||||||
|
305201320636671251145832252388563746733774564949748445664654449965453936743822654651524764154313443
|
||||||
|
011300622102111771164477857675385967936859964787497949987577437799784855267278677674646432241223234
|
||||||
|
340321113267666756754785648366853336456946997569954774746449465943647534953257556352535151305025463
|
||||||
|
541411012547643576586448655984493857478575997945994447954587596973768677885376565465523461502535643
|
||||||
|
444321100654632152854364424757747839747855469574958798776977549543479354379242483435267721134026240
|
||||||
|
020626205154575316847673866764644374748789977457499575788744688854499953995222366237635424744520350
|
||||||
|
335506510045711628565868794334457797677874456886875779795697459467453749364727248672726163736041204
|
||||||
|
500111603536263112863778287468558998649869948858895979757648556554566675849574438477347434571054505
|
||||||
|
122000100243546685578334388934875844674864976796788677978555975645687865954363424837536471770452415
|
||||||
|
141414215752566148738527647673948945657599775586897776875597686768689334698832463748744764733053124
|
||||||
|
100340653262173232623746876388947885855898958859977856795865855466954797947557362275815142426540331
|
||||||
|
466303032723142355554844869739456445889568997967558595977567767954454556686589744843263767635404425
|
||||||
|
004613266772514623473428884775998765955988667675865595697667595999549844548767382824562175546612214
|
||||||
|
223062321176322437826876799485789855749797897795766857786556556466469876653886288833557467773301562
|
||||||
|
413332261232125275243773533956777794896856665777776697967896558687464977634963578724434267752313063
|
||||||
|
552404621241274462672869963657657685959857786696669988675856559577744587934439473355436162566631240
|
||||||
|
435165353647675322378767844955594694568958979668688889986755769858696479453833942343873533447232052
|
||||||
|
244432367557727222376845574654778567657966566799677789797957677969848457379553465846862364131450331
|
||||||
|
500160365677454526747395979487899988575755756767767688698968968964795455975647975338665645777505164
|
||||||
|
102431235675118652565457756594548744578555576979976998997755878856465958937486343448585657465615526
|
||||||
|
246165542416756587676444776898888956766578897997878779867867799995588485976853457557557151277215635
|
||||||
|
001643325345324464653748985776747945569696578767779897778688898756644945899654857626437342132540232
|
||||||
|
012101664761176266736346897839595848575598988867686699987969655574844656549763626542283366457311330
|
||||||
|
561504075335422826822483989945889874569866596668697889889787698578564685356683642368537236162426203
|
||||||
|
352203514134651772748288733934776699589795768989986896977876655856647995457449532883535245357460413
|
||||||
|
033642404423741338448747543456567587875878659898696769778857567974989696766857638532623516361132200
|
||||||
|
616444206117715325587799743549596679896878996579778797758659755584898985549986338256726477267555103
|
||||||
|
520455143625244274365846334377848464679657799659996799959789655886895549885388585227864441542440633
|
||||||
|
301346217675555884462648646383444656479799855995796958569776779656497648598636775768426556776465212
|
||||||
|
520404231326621664428744458384498945886755796967559979558788575647874897993564426835362551773515204
|
||||||
|
316242511662326327222423774658467889697656957595795766869586965778777639684376585246752671616104436
|
||||||
|
415146426112762185773325386754349955694758878879858887885879799994465943455896555866711732413133541
|
||||||
|
355625411617227324663526785865944884474696755859788678978799585984575877863878686426651623174052622
|
||||||
|
250022125746424524625262754995697689898769757895898887999798967686567449959582647242127737515510342
|
||||||
|
525264040416627662865878845844435466984695749789657699584976867495646849545456285287242646554654353
|
||||||
|
036123646424431555263267827839763498876769495677697448449595455554764947373454763645727333510646146
|
||||||
|
204566364235641316654753765445963394466448895664985649465498769864394998376778764453573662441355520
|
||||||
|
220335031661255773663868585338574847865979585777445874888879656858779783486746544464161776603563641
|
||||||
|
222513656331342447187422756294679343838685457555849784967456454674489536467765228571211235451313300
|
||||||
|
420041535613636672654268683685394696895377789594449696975655499485443388622338663537334646443120355
|
||||||
|
525056224212611227113776876877874646779895859895448998785578796984395868862632743546145340000633644
|
||||||
|
404314430546135313471247434875543567783736878545548779967377554684776373253726223752325712616213051
|
||||||
|
353422360566111142127744587245868774578548754579967945935667489466386244448265471714226610251556141
|
||||||
|
240135510612042471674334266253242658953336636546539684393847584358732442564537232411555541300234143
|
||||||
|
555204024234655515726125842362866243634643845579964798949797638778425653264527614711662106606433551
|
||||||
|
203524350135524444622315434263233285368993457879757738399643368354787234632745135155274525361620440
|
||||||
|
340532455653452155645722264385685523579545388464998647475936784423755683487133452753535123313604354
|
||||||
|
352152244221611331745526617386458872637865488449639856654753583624523335337272114515341203461045505
|
||||||
|
312033003454166053225452625154365544367483828667456379835556776344278883841652574422331646601235245
|
||||||
|
354330514213011046317425234714582372762675574834484437275552425744868747672133251365644033361512332
|
||||||
|
044021444522010141412515121117476227878457643873272338756238823637528547351444752605411146631314215
|
||||||
|
232413442230001100251223172352214643455635846823657522575345326788747411734266577565251164231145220
|
||||||
|
131504320306315625216346311325345143883224276853882277427888248757813625336722630560555630113015013
|
||||||
|
024451223151264563630623162617513241445834482436236846786748364751551471325535132540104323422105400
|
||||||
|
124420553125506323053405346614111134556285246233525828237347884315614217572766434350535521515101401
|
||||||
|
130200351112000250166105345316513263244676855323883356633222244252121772667652426014110503513555221
|
||||||
|
400241412230012102424516231766252561312255446621244373337355416351623124213640652213520151043110444
|
||||||
|
322440423504102454033133351036544434155137522762124773455775324625526553424524313460144053442544330
|
||||||
|
324303335402501236440552111053234114555641277255456252443511634243752643304353256666504353255522122
|
||||||
|
241434204225354100532033205000145461776516534477176114531271372735543451231303326454043352113013420
|
||||||
|
334124213300015522546105345511323376357312632521613774424256342133105114520414061451141133554301031
|
||||||
|
211304431150451251125020043053260563634374764226536222654742522421115640025331113215553523303422011
|
||||||
|
123324243323523142132445503461621106650437431517676417742653314226115466013230223030345414021112341
|
||||||
|
100121244242050431353422620202033056213213561562676642451361622463016135301034322504250003434240420
|
||||||
|
202331344430130314251310046312513630614136423111235233115234253411664210435541154434125202004300041
|
||||||
|
311142442400021052335032430131001522121243633355511015105456130306054020525345400331240114301233431
|
||||||
|
303333210333101445104545232532514231420245342044224564606555504302423403203123103211431303412444103
|
||||||
|
322112022033322224210512330414230625446520203533135512231066520423212314402311345154232414213413203
|
||||||
|
210220340333424334214524143431005502542403323230305103516410534415015522312221415410344021130000212
|
||||||
8
data/day09.2.test
Normal file
8
data/day09.2.test
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
R 5
|
||||||
|
U 8
|
||||||
|
L 8
|
||||||
|
D 3
|
||||||
|
R 17
|
||||||
|
D 10
|
||||||
|
L 25
|
||||||
|
U 20
|
||||||
8
data/day09.test
Normal file
8
data/day09.test
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
R 4
|
||||||
|
U 4
|
||||||
|
L 3
|
||||||
|
D 1
|
||||||
|
R 4
|
||||||
|
D 1
|
||||||
|
L 5
|
||||||
|
R 2
|
||||||
2000
data/day09.txt
Normal file
2000
data/day09.txt
Normal file
File diff suppressed because it is too large
Load Diff
146
data/day10.test
Normal file
146
data/day10.test
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
addx 15
|
||||||
|
addx -11
|
||||||
|
addx 6
|
||||||
|
addx -3
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
addx -8
|
||||||
|
addx 13
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
addx -1
|
||||||
|
addx -35
|
||||||
|
addx 1
|
||||||
|
addx 24
|
||||||
|
addx -19
|
||||||
|
addx 1
|
||||||
|
addx 16
|
||||||
|
addx -11
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 21
|
||||||
|
addx -15
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -3
|
||||||
|
addx 9
|
||||||
|
addx 1
|
||||||
|
addx -3
|
||||||
|
addx 8
|
||||||
|
addx 1
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -36
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 6
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx -13
|
||||||
|
addx 13
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
addx -33
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 8
|
||||||
|
noop
|
||||||
|
addx -1
|
||||||
|
addx 2
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 17
|
||||||
|
addx -9
|
||||||
|
addx 1
|
||||||
|
addx 1
|
||||||
|
addx -3
|
||||||
|
addx 11
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -13
|
||||||
|
addx -19
|
||||||
|
addx 1
|
||||||
|
addx 3
|
||||||
|
addx 26
|
||||||
|
addx -30
|
||||||
|
addx 12
|
||||||
|
addx -1
|
||||||
|
addx 3
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -9
|
||||||
|
addx 18
|
||||||
|
addx 1
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 9
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -1
|
||||||
|
addx 2
|
||||||
|
addx -37
|
||||||
|
addx 1
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 15
|
||||||
|
addx -21
|
||||||
|
addx 22
|
||||||
|
addx -6
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx -10
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 20
|
||||||
|
addx 1
|
||||||
|
addx 2
|
||||||
|
addx 2
|
||||||
|
addx -6
|
||||||
|
addx -11
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
147
data/day10.txt
Normal file
147
data/day10.txt
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 6
|
||||||
|
addx -1
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 11
|
||||||
|
addx -10
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 4
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -35
|
||||||
|
addx -2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -28
|
||||||
|
addx 28
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -9
|
||||||
|
addx 10
|
||||||
|
addx -38
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -9
|
||||||
|
addx 10
|
||||||
|
addx 4
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -2
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -35
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -25
|
||||||
|
noop
|
||||||
|
addx 30
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx -38
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
addx -2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -8
|
||||||
|
addx 13
|
||||||
|
addx -2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -15
|
||||||
|
noop
|
||||||
|
addx 20
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -4
|
||||||
|
addx 5
|
||||||
|
addx -38
|
||||||
|
addx 8
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 17
|
||||||
|
addx -10
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 1
|
||||||
|
addx -16
|
||||||
|
addx 19
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
@@ -21,6 +21,8 @@ description: Please see the README on GitHub at <https://github.com/gith
|
|||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- base >= 4.7 && < 5
|
- base >= 4.7 && < 5
|
||||||
|
- ghc
|
||||||
|
# - modular-arithmetic
|
||||||
|
|
||||||
ghc-options:
|
ghc-options:
|
||||||
- -Wall
|
- -Wall
|
||||||
@@ -34,7 +36,7 @@ ghc-options:
|
|||||||
- -Wredundant-constraints
|
- -Wredundant-constraints
|
||||||
|
|
||||||
# library:
|
# library:
|
||||||
# source-dirs: src
|
# source-dirs: src
|
||||||
|
|
||||||
executables:
|
executables:
|
||||||
AOC22-exe:
|
AOC22-exe:
|
||||||
|
|||||||
@@ -1,44 +1,40 @@
|
|||||||
module AOCUtil where
|
module AOCUtil where
|
||||||
import Data.List
|
|
||||||
import Data.Ord
|
import Data.List
|
||||||
|
import Data.Ord
|
||||||
|
|
||||||
interactF :: String -> (String -> String) -> IO ()
|
interactF :: String -> (String -> String) -> IO ()
|
||||||
interactF file fun = (putStrLn . fun) =<< readFile file
|
interactF file fun = (putStrLn . fun) =<< readFile file
|
||||||
|
|
||||||
|
|
||||||
splitOn :: Eq a => a -> [a] -> [[a]]
|
splitOn :: Eq a => a -> [a] -> [[a]]
|
||||||
splitOn p s = case dropWhile (p ==) s of
|
splitOn p s = case dropWhile (p ==) s of
|
||||||
[] -> []
|
[] -> []
|
||||||
s' -> w : splitOn p s'' where (w, s'') = break (== p) s'
|
s' -> w : splitOn p s'' where (w, s'') = break (== p) s'
|
||||||
|
|
||||||
|
|
||||||
impl :: Bool -> Bool -> Bool
|
impl :: Bool -> Bool -> Bool
|
||||||
impl a b = not a || b
|
impl a b = not a || b
|
||||||
|
|
||||||
unDigits :: [Int] -> Int
|
unDigits :: [Int] -> Int
|
||||||
unDigits [] = 0
|
unDigits [] = 0
|
||||||
unDigits [i] = i
|
unDigits [i] = i
|
||||||
unDigits is = unDigits (init is) * 10 + last is
|
unDigits is = unDigits (init is) * 10 + last is
|
||||||
|
|
||||||
middle :: [a] -> a
|
middle :: [a] -> a
|
||||||
middle [] = error "called AOCUtil.middle on empty list."
|
middle [] = error "called AOCUtil.middle on empty list."
|
||||||
middle ls = ls !! (length ls `div` 2)
|
middle ls = ls !! (length ls `div` 2)
|
||||||
|
|
||||||
|
|
||||||
-- mapFst :: (a->c) -> (a,b) -> (c,b)
|
-- mapFst :: (a->c) -> (a,b) -> (c,b)
|
||||||
-- mapFst f (a, b) = (f a, b)
|
-- mapFst f (a, b) = (f a, b)
|
||||||
|
|
||||||
-- mapSnd :: (b->c) -> (a,b) -> (a,c)
|
-- mapSnd :: (b->c) -> (a,b) -> (a,c)
|
||||||
-- mapSnd f (a, b) = (a, f b)
|
-- mapSnd f (a, b) = (a, f b)
|
||||||
|
|
||||||
|
|
||||||
readBin :: String -> Int
|
readBin :: String -> Int
|
||||||
readBin [] = 0
|
readBin [] = 0
|
||||||
readBin ls = readBin (init ls) * 2 + toBin (last ls)
|
readBin ls = readBin (init ls) * 2 + toBin (last ls)
|
||||||
where
|
where
|
||||||
toBin '0' = 0
|
toBin '0' = 0
|
||||||
toBin '1' = 1
|
toBin '1' = 1
|
||||||
|
|
||||||
|
|
||||||
first2 :: [a] -> (a, a)
|
first2 :: [a] -> (a, a)
|
||||||
first2 (a : b : _) = (a, b)
|
first2 (a : b : _) = (a, b)
|
||||||
@@ -67,25 +63,34 @@ mapT3 f (a1, a2, a3) = (f a1, f a2, f a3)
|
|||||||
applyT :: (a -> b, a -> c) -> a -> (b, c)
|
applyT :: (a -> b, a -> c) -> a -> (b, c)
|
||||||
applyT (f1, f2) a = (f1 a, f2 a)
|
applyT (f1, f2) a = (f1 a, f2 a)
|
||||||
|
|
||||||
|
|
||||||
mostCommon :: Ord a => [a] -> a
|
mostCommon :: Ord a => [a] -> a
|
||||||
mostCommon = head . head . sortOn (Down . length) . group . sort
|
mostCommon = head . head . sortOn (Down . length) . group . sort
|
||||||
|
|
||||||
without :: Int -> [a] -> [a]
|
without :: Int -> [a] -> [a]
|
||||||
without _ [] = []
|
without _ [] = []
|
||||||
without 0 (a : as) = as
|
without 0 (a : as) = as
|
||||||
without i (a : as) = a : without (i - 1) as
|
without i (a : as) = a : without (i - 1) as
|
||||||
|
|
||||||
clamp :: Ord a => (a, a) -> a -> a
|
clamp :: Ord a => (a, a) -> a -> a
|
||||||
clamp (l, u) v = min u $ max l v
|
clamp (l, u) v = min u $ max l v
|
||||||
|
|
||||||
|
|
||||||
rotateR :: Int -> [a] -> [a]
|
rotateR :: Int -> [a] -> [a]
|
||||||
rotateR 0 ls = ls
|
rotateR 0 ls = ls
|
||||||
rotateR i ls | i < 0 = rotateL (-i) ls
|
rotateR i ls
|
||||||
| otherwise = rotateR (i - 1) (last ls : init ls)
|
| i < 0 = rotateL (-i) ls
|
||||||
|
| otherwise = rotateR (i - 1) (last ls : init ls)
|
||||||
|
|
||||||
rotateL :: Int -> [a] -> [a]
|
rotateL :: Int -> [a] -> [a]
|
||||||
rotateL 0 ls = ls
|
rotateL 0 ls = ls
|
||||||
rotateL i ls | i < 0 = rotateR (-i) ls
|
rotateL i ls
|
||||||
| otherwise = rotateL (i - 1) (tail ls ++ [head ls])
|
| i < 0 = rotateR (-i) ls
|
||||||
|
| otherwise = rotateL (i - 1) (tail ls ++ [head ls])
|
||||||
|
|
||||||
|
readChar :: Char -> Int
|
||||||
|
readChar c = fromEnum c - fromEnum '0'
|
||||||
|
|
||||||
|
addT :: Num a => (a, a) -> (a, a) -> (a, a)
|
||||||
|
addT (a1, a2) (b1, b2) = (a1 + b1, a2 + b2)
|
||||||
|
|
||||||
|
manhattan :: Num a => (a, a) -> (a, a) -> a
|
||||||
|
manhattan (a1, a2) (b1, b2) = abs (a1 - b1) + abs (a2 - b2)
|
||||||
|
|||||||
34
src/Days/Day03.hs
Normal file
34
src/Days/Day03.hs
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
module Days.Day03 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day03.txt" (show . solve . lines)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day03.txt" (show . solveB . lines)
|
||||||
|
|
||||||
|
solve :: [String] -> Int
|
||||||
|
solve = sum . map (getPrio . findDup . splitBackpack)
|
||||||
|
|
||||||
|
solveB :: [String] -> Int
|
||||||
|
solveB = sum . map (getPrio . findBadge) . chunkList 3
|
||||||
|
|
||||||
|
splitBackpack :: String -> (String, String)
|
||||||
|
splitBackpack s = (take l s, drop l s)
|
||||||
|
where
|
||||||
|
l = length s `div` 2
|
||||||
|
|
||||||
|
findDup :: (String, String) -> Char
|
||||||
|
findDup (ls, ls2) = head . filter (`elem` ls) $ ls2
|
||||||
|
|
||||||
|
getPrio :: Char -> Int
|
||||||
|
getPrio c
|
||||||
|
| isLower c = fromEnum c - fromEnum 'a' + 1
|
||||||
|
| isUpper c = fromEnum c - fromEnum 'A' + 27
|
||||||
|
| otherwise = undefined
|
||||||
|
|
||||||
|
findBadge :: [String] -> Char
|
||||||
|
findBadge [a, b, c] = head . filter (`elem` a) . filter (`elem` b) $ c
|
||||||
31
src/Days/Day04.hs
Normal file
31
src/Days/Day04.hs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
module Days.Day04 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day04.txt" (show . solve . lines)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day04.txt" (show . solveB . lines)
|
||||||
|
|
||||||
|
type Section = (Int, Int)
|
||||||
|
|
||||||
|
type Pair = (Section, Section)
|
||||||
|
|
||||||
|
solve :: [String] -> Int
|
||||||
|
solve = length . filter sectionInclude . map readPair
|
||||||
|
|
||||||
|
readPair :: String -> Pair
|
||||||
|
readPair = first2 . map readSection . splitOn ','
|
||||||
|
|
||||||
|
readSection :: String -> Section
|
||||||
|
readSection = first2 . map read . splitOn '-'
|
||||||
|
|
||||||
|
sectionInclude :: Pair -> Bool
|
||||||
|
sectionInclude ((a, b), (c, d)) = (a <= c && d <= b) || (c <= a && b <= d)
|
||||||
|
|
||||||
|
solveB :: [String] -> Int
|
||||||
|
solveB = length . filter sectionOverlap . map readPair
|
||||||
|
|
||||||
|
sectionOverlap :: Pair -> Bool
|
||||||
|
sectionOverlap ((a, b), (c, d)) = not (b < c || d < a)
|
||||||
60
src/Days/Day05.hs
Normal file
60
src/Days/Day05.hs
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
module Days.Day05 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day05.txt" (solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day05.txt" (solveB)
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve = show . map head . uncurry (flip processAll) . readInput
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB = show . map head . uncurry (flip processAllB) . readInput
|
||||||
|
|
||||||
|
type Stack = [Char] -- prop/push front
|
||||||
|
|
||||||
|
type Instruction = (Int, Int, Int) -- from, to, amount
|
||||||
|
|
||||||
|
readInput :: String -> ([Stack], [Instruction])
|
||||||
|
readInput s = (readStacks a, readInstructions b)
|
||||||
|
where
|
||||||
|
(a, b) = first2 . map unlines . splitOn "" . lines $ s
|
||||||
|
|
||||||
|
readStacks :: String -> [Stack]
|
||||||
|
readStacks = map (reverse . filter (/= ' ') . head . tail) . chunkList 4 . map reverse . transpose . init . lines
|
||||||
|
|
||||||
|
readInstructions :: String -> [Instruction]
|
||||||
|
readInstructions = map readI . lines
|
||||||
|
|
||||||
|
readI :: String -> Instruction
|
||||||
|
readI = first3 . map read . filter (isDigit . head) . words
|
||||||
|
|
||||||
|
processAll :: [Instruction] -> [Stack] -> [Stack]
|
||||||
|
processAll [] = id
|
||||||
|
processAll (i : is) = processAll is . process i
|
||||||
|
|
||||||
|
processAllB :: [Instruction] -> [Stack] -> [Stack]
|
||||||
|
processAllB [] = id
|
||||||
|
processAllB (i : is) = processAllB is . processB i
|
||||||
|
|
||||||
|
process :: Instruction -> [Stack] -> [Stack]
|
||||||
|
process (a, b, c) stack = map update . zip [1 ..] $ stack
|
||||||
|
where
|
||||||
|
update (i, s)
|
||||||
|
| i == b = drop a s
|
||||||
|
| i == c = (reverse . take a . (!!) stack $ (b - 1)) ++ s
|
||||||
|
| otherwise = s
|
||||||
|
|
||||||
|
processB :: Instruction -> [Stack] -> [Stack]
|
||||||
|
processB (a, b, c) stack = map update . zip [1 ..] $ stack
|
||||||
|
where
|
||||||
|
update (i, s)
|
||||||
|
| i == b = drop a s
|
||||||
|
| i == c = (take a . (!!) stack $ (b - 1)) ++ s
|
||||||
|
| otherwise = s
|
||||||
21
src/Days/Day06.hs
Normal file
21
src/Days/Day06.hs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
module Days.Day06 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day06.txt" (show . solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day06.txt" (show . solveB)
|
||||||
|
|
||||||
|
solve :: String -> Int
|
||||||
|
solve = fst . head . filter (noDups 4) . zip [4 ..] . filter ((== 4) . length) . map (take 4) . tails
|
||||||
|
|
||||||
|
solveB :: String -> Int
|
||||||
|
solveB = fst . head . filter (noDups 14) . zip [14 ..] . filter ((== 14) . length) . map (take 14) . tails
|
||||||
|
|
||||||
|
noDups :: Int -> (Int, [Char]) -> Bool
|
||||||
|
noDups l (i, ls) = (== l) . length . nub . sort $ ls
|
||||||
44
src/Days/Day07.hs
Normal file
44
src/Days/Day07.hs
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
module Days.Day07 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day07.txt" (solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day07.txt" (solveB)
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve s = show . sum . filter (< 100000) . map (getDirectorySize fl) . getDirectories $ fl
|
||||||
|
where
|
||||||
|
fl = generateFileList [] . lines $ s
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB s = show . head . sort . filter (>= toFree fl) . map (getDirectorySize fl) . getDirectories $ fl
|
||||||
|
where
|
||||||
|
fl = generateFileList [] . lines $ s
|
||||||
|
|
||||||
|
type File = ([String], Int) -- Path (Reversed) including Filename, Size
|
||||||
|
|
||||||
|
generateFileList :: [String] -> [String] -> [File] -- current dir (reversed), list of commands
|
||||||
|
generateFileList _ [] = []
|
||||||
|
generateFileList dir (c : cs)
|
||||||
|
| isPrefixOf "$ cd .." c = generateFileList (tail dir) cs
|
||||||
|
| isPrefixOf "$ cd" c = generateFileList ((last $ words c) : dir) cs
|
||||||
|
-- \| isPrefixOf "$ ls" c = generateFileList dir cs
|
||||||
|
| isDigit $ head c = (((last . words $ c) : dir), read . last . init . words $ c) : (generateFileList dir cs)
|
||||||
|
| otherwise = generateFileList dir cs
|
||||||
|
|
||||||
|
type Dir = [String]
|
||||||
|
|
||||||
|
getDirectories :: [File] -> [Dir]
|
||||||
|
getDirectories = nub . sort . concatMap (tails . tail . fst)
|
||||||
|
|
||||||
|
getDirectorySize :: [File] -> Dir -> Int
|
||||||
|
getDirectorySize fs d = sum . map snd . filter (isSuffixOf d . fst) $ fs
|
||||||
|
|
||||||
|
toFree :: [File] -> Int
|
||||||
|
toFree = (flip (-) 40000000) . (flip getDirectorySize) ["/"]
|
||||||
54
src/Days/Day08.hs
Normal file
54
src/Days/Day08.hs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
module Days.Day08 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day08.txt" (solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day08.txt" (solveB)
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve s = show . length . filter (isVisible for) $ [(x, y) | x <- [0 .. fwidth for - 1], y <- [0 .. fheight for - 1]]
|
||||||
|
where
|
||||||
|
for = map (map readChar) . lines $ s
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB s = show . maximum . map (scenicScore for) $ [(x, y) | x <- [0 .. fwidth for - 1], y <- [0 .. fheight for - 1]]
|
||||||
|
where
|
||||||
|
for = map (map readChar) . lines $ s
|
||||||
|
|
||||||
|
type Forrest = [[Int]]
|
||||||
|
|
||||||
|
isVisible :: Forrest -> (Int, Int) -> Bool
|
||||||
|
isVisible f (x, y) = isLookt h left || isLookt h (tail right2) || isLookt h top || isLookt h (tail bot2)
|
||||||
|
where
|
||||||
|
row = f !! y
|
||||||
|
col = transpose f !! x
|
||||||
|
h = f !! y !! x
|
||||||
|
(left, right2) = splitAt x row
|
||||||
|
(top, bot2) = splitAt y col
|
||||||
|
|
||||||
|
scenicScore :: Forrest -> (Int, Int) -> Int
|
||||||
|
scenicScore f (x, y) = viewDist h (reverse left) * viewDist h (tail right2) * viewDist h (reverse top) * viewDist h (tail bot2)
|
||||||
|
where
|
||||||
|
row = f !! y
|
||||||
|
col = transpose f !! x
|
||||||
|
h = f !! y !! x
|
||||||
|
(left, right2) = splitAt x row
|
||||||
|
(top, bot2) = splitAt y col
|
||||||
|
|
||||||
|
viewDist :: Int -> [Int] -> Int
|
||||||
|
viewDist i ls = min (length ls) . (+ 1) . length . takeWhile (< i) $ ls
|
||||||
|
|
||||||
|
isLookt :: Int -> [Int] -> Bool
|
||||||
|
isLookt m = all (< m)
|
||||||
|
|
||||||
|
fwidth :: Forrest -> Int
|
||||||
|
fwidth = length . head
|
||||||
|
|
||||||
|
fheight :: Forrest -> Int
|
||||||
|
fheight = length
|
||||||
85
src/Days/Day09.hs
Normal file
85
src/Days/Day09.hs
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
module Days.Day09 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day09.test" (solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day09.txt" (solveB)
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve = show . length . nub . sort . map snd . processInstruction [((0, 0), (0, 0))] . parseInput
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB = show . length . nub . sort . map last . process2 [longRope] . parseInput
|
||||||
|
|
||||||
|
type Pos = (Int, Int)
|
||||||
|
|
||||||
|
type Rope = (Pos, Pos)
|
||||||
|
|
||||||
|
type LongRope = [Pos]
|
||||||
|
|
||||||
|
longRope :: LongRope
|
||||||
|
longRope = replicate 10 (0, 0)
|
||||||
|
|
||||||
|
data Dir = DUp | DDown | DLeft | DRight
|
||||||
|
-- ^ y
|
||||||
|
-- |
|
||||||
|
-- |
|
||||||
|
-- +----> x
|
||||||
|
|
||||||
|
move :: Dir -> Pos -> Pos
|
||||||
|
move DUp (x, y) = (x, y + 1)
|
||||||
|
move DDown (x, y) = (x, y - 1)
|
||||||
|
move DLeft (x, y) = (x - 1, y)
|
||||||
|
move DRight (x, y) = (x + 1, y)
|
||||||
|
|
||||||
|
parseInput :: String -> [Dir]
|
||||||
|
parseInput = concatMap (parseCommand . words) . lines
|
||||||
|
|
||||||
|
parseCommand :: [String] -> [Dir]
|
||||||
|
parseCommand ["R", i] = replicate (read i) DRight
|
||||||
|
parseCommand ["L", i] = replicate (read i) DLeft
|
||||||
|
parseCommand ["U", i] = replicate (read i) DUp
|
||||||
|
parseCommand ["D", i] = replicate (read i) DDown
|
||||||
|
|
||||||
|
processInstruction :: [Rope] -> [Dir] -> [Rope]
|
||||||
|
processInstruction [] _ = error "Specify starting position"
|
||||||
|
processInstruction r [] = r
|
||||||
|
processInstruction r@((h, t) : _) (d : ds) = processInstruction ((h2, adjust3 h2 t) : r) ds
|
||||||
|
where
|
||||||
|
h2 = move d h
|
||||||
|
|
||||||
|
process2 :: [LongRope] -> [Dir] -> [LongRope]
|
||||||
|
process2 [] _ = error "Specify starting rope"
|
||||||
|
process2 r [] = r
|
||||||
|
process2 r@(rope : _) (d : ds) = process2 (moveRope rope d : r) ds
|
||||||
|
|
||||||
|
adjust3 :: Pos -> Pos -> Pos -- head, tain -> new tail
|
||||||
|
adjust3 (hx, hy) (tx, ty) = if max (abs $ hx - tx) (abs $ hy - ty) > 1 then (tx + signum (hx - tx), ty + signum (hy - ty)) else (tx, ty)
|
||||||
|
|
||||||
|
moveRope :: LongRope -> Dir -> LongRope -- moves head
|
||||||
|
moveRope (h : rs) d = fixRope (move d h : rs)
|
||||||
|
|
||||||
|
fixRope :: LongRope -> LongRope -- moves tail
|
||||||
|
fixRope [a] = [a]
|
||||||
|
fixRope (h : t : ts) = (h : fixRope (adjust3 h t : ts))
|
||||||
|
|
||||||
|
-- adjust :: Dir -> Rope -> Rope -- Dir, Head, Tail -> Tail
|
||||||
|
-- adjust DRight (h@(hx, hy), t@(tx, ty)) = (move DRight h, if tx < hx then h else t)
|
||||||
|
-- adjust DLeft (h@(hx, hy), t@(tx, ty)) = (move DLeft h, if tx > hx then h else t)
|
||||||
|
-- adjust DDown (h@(hx, hy), t@(tx, ty)) = (move DDown h, if ty > hy then h else t)
|
||||||
|
-- adjust DUp (h@(hx, hy), t@(tx, ty)) = (move DUp h, if ty < hy then h else t)
|
||||||
|
|
||||||
|
-- adjust2 :: Pos -> Pos -> Pos -- head, tain -> new tail
|
||||||
|
-- adjust2 h2 t = if dist <= 1 then t else t2
|
||||||
|
-- where
|
||||||
|
-- dist = max (abs $ fst h2 - fst t) (abs $ snd h2 - snd t)
|
||||||
|
-- t2 = head . sortOn (edist t) . map (addT h2) $ [(0, 1), (0, -1), (1, 0), (-1, 0)]
|
||||||
|
|
||||||
|
-- edist :: Num a => (a, a) -> (a, a) -> a
|
||||||
|
-- edist (a1, a2) (b1, b2) = (a1 - b1) ^ 2 + (a2 - b2) ^ 2
|
||||||
45
src/Days/Day10.hs
Normal file
45
src/Days/Day10.hs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
module Days.Day10 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day10.txt" (solve)
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day10.txt" (solveB)
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve = show . sum . map score . zip [1 ..] . scanl applyInstruction 1 . cycleCorrection . map parseInstruction . lines
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB = unlines . chunkList 40 . map getPixel . zip [0 ..] . scanl applyInstruction 1 . cycleCorrection . map parseInstruction . lines
|
||||||
|
|
||||||
|
data Instruction = Noop | Add Int
|
||||||
|
|
||||||
|
parseInstruction :: String -> Instruction
|
||||||
|
parseInstruction s
|
||||||
|
| isPrefixOf "noop" s = Noop
|
||||||
|
| isPrefixOf "addx" s = Add . read . last . words $ s
|
||||||
|
| otherwise = error "bad instruction"
|
||||||
|
|
||||||
|
cycleCorrection :: [Instruction] -> [Instruction]
|
||||||
|
cycleCorrection = concatMap duplicateI
|
||||||
|
|
||||||
|
duplicateI :: Instruction -> [Instruction]
|
||||||
|
duplicateI Noop = [Noop]
|
||||||
|
duplicateI (Add x) = [Noop, Add x]
|
||||||
|
|
||||||
|
applyInstruction :: Int -> Instruction -> Int
|
||||||
|
applyInstruction i Noop = i
|
||||||
|
applyInstruction i (Add x) = i + x
|
||||||
|
|
||||||
|
score :: (Int, Int) -> Int
|
||||||
|
score (i, v)
|
||||||
|
| i `elem` [20, 60, 100, 140, 180, 220] = i * v
|
||||||
|
| otherwise = 0
|
||||||
|
|
||||||
|
getPixel :: (Int, Int) -> Char
|
||||||
|
getPixel (i, v) = if abs ((i `mod` 40) - v) <= 1 then '#' else '.'
|
||||||
69
src/Days/Day11.hs
Normal file
69
src/Days/Day11.hs
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
module Days.Day11 where
|
||||||
|
|
||||||
|
import AOCUtil
|
||||||
|
import Data.Bool
|
||||||
|
import Data.Char
|
||||||
|
import Data.List
|
||||||
|
import Data.Modular
|
||||||
|
import GHC.Utils.Misc
|
||||||
|
|
||||||
|
runA :: IO ()
|
||||||
|
runA = interactF "data/day10.txt" solve
|
||||||
|
|
||||||
|
runB :: IO ()
|
||||||
|
runB = interactF "data/day10.txt" solveB
|
||||||
|
|
||||||
|
solve :: String -> String
|
||||||
|
solve _ = "change 'handleItems' for A part " -- show . uncurry (*) . first2 . reverse . sort . map insp . runRounds 20 $ initialMonkeys
|
||||||
|
|
||||||
|
solveB :: String -> String
|
||||||
|
solveB _ = show . uncurry (*) . first2 . reverse . sort . map insp . runRounds 10000 $ initialMonkeys
|
||||||
|
|
||||||
|
factor :: Int
|
||||||
|
factor = 2 * 7 * 3 * 11 * 17 * 5 * 13 * 19
|
||||||
|
|
||||||
|
type Item = Int
|
||||||
|
|
||||||
|
data Monkey = Monkey {items :: [Item], op :: Item -> Item, target :: Item -> Int, insp :: Int}
|
||||||
|
|
||||||
|
instance Show Monkey where
|
||||||
|
show (Monkey it _ _ is) = show it ++ "@" ++ show is
|
||||||
|
|
||||||
|
initialMonkeys :: [Monkey]
|
||||||
|
initialMonkeys =
|
||||||
|
[ Monkey {items = [54, 53], op = (* 3), target = bool 6 2 . (== 0) . (`mod` 2), insp = 0},
|
||||||
|
Monkey {items = [95, 88, 75, 81, 91, 67, 65, 84], op = (* 11), target = bool 4 3 . (== 0) . (`mod` 7), insp = 0},
|
||||||
|
Monkey {items = [76, 81, 50, 93, 96, 81, 83], op = (+ 6), target = bool 1 5 . (== 0) . (`mod` 3), insp = 0},
|
||||||
|
Monkey {items = [83, 85, 85, 63], op = (+ 4), target = bool 4 7 . (== 0) . (`mod` 11), insp = 0},
|
||||||
|
Monkey {items = [85, 52, 64], op = (+ 8), target = bool 7 0 . (== 0) . (`mod` 17), insp = 0},
|
||||||
|
Monkey {items = [57], op = (+ 2), target = bool 3 1 . (== 0) . (`mod` 5), insp = 0},
|
||||||
|
Monkey {items = [60, 95, 76, 66, 91], op = (^ 2), target = bool 5 2 . (== 0) . (`mod` 13), insp = 0},
|
||||||
|
Monkey {items = [65, 84, 76, 72, 79, 65], op = (+ 5), target = bool 0 6 . (== 0) . (`mod` 19), insp = 0}
|
||||||
|
]
|
||||||
|
|
||||||
|
runRounds :: Int -> [Monkey] -> [Monkey]
|
||||||
|
runRounds n = nTimes n monkeyRound
|
||||||
|
|
||||||
|
monkeyRound :: [Monkey] -> [Monkey]
|
||||||
|
monkeyRound ms = foldl monkeyCycle ms [0 .. n - 1]
|
||||||
|
where
|
||||||
|
n = length ms
|
||||||
|
|
||||||
|
monkeyCycle :: [Monkey] -> Int -> [Monkey]
|
||||||
|
monkeyCycle ms i = clearMonkey i . foldl (.) id (map addItem toAdd) $ ms
|
||||||
|
where
|
||||||
|
activeMonkey = ms !! i
|
||||||
|
toAdd = handleItems activeMonkey
|
||||||
|
|
||||||
|
handleItems :: Monkey -> [(Int, Item)]
|
||||||
|
handleItems (Monkey [] _ _ _) = [] -- Target Monkey, Item worry level
|
||||||
|
handleItems (Monkey (i : is) op target insp) = (target newWorry, newWorry) : handleItems (Monkey is op target insp)
|
||||||
|
where
|
||||||
|
-- newWorry = (`div` 3) . op $ i -- for A
|
||||||
|
newWorry = (`mod` factor) . op $ i -- for B
|
||||||
|
|
||||||
|
addItem :: (Int, Item) -> [Monkey] -> [Monkey] -- Index Item
|
||||||
|
addItem (idx, item) = zipWith (\i m -> if idx == i then m {items = items m ++ [item]} else m) [0 ..]
|
||||||
|
|
||||||
|
clearMonkey :: Int -> [Monkey] -> [Monkey]
|
||||||
|
clearMonkey idx = zipWith (\i m -> if idx == i then m {items = [], insp = insp m + length (items m)} else m) [0 ..]
|
||||||
BIN
src/Main.exe
Normal file
BIN
src/Main.exe
Normal file
Binary file not shown.
@@ -1,8 +1,6 @@
|
|||||||
module Main where
|
module Main where
|
||||||
|
|
||||||
import Days.Day01
|
import Days.Day11
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = Days.Day01.runA
|
main = Days.Day11.runB
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ packages:
|
|||||||
# - git: https://github.com/commercialhaskell/stack.git
|
# - git: https://github.com/commercialhaskell/stack.git
|
||||||
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
|
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
|
||||||
#
|
#
|
||||||
# extra-deps: []
|
extra-deps:
|
||||||
|
- modular-arithmetic-2.0.0.2@sha256:7fa5ecf2a716f826f2090f838da1fd21e38fb20b55e46d1c2083944662383e86,1653
|
||||||
|
|
||||||
# Override default flag values for local packages and extra-deps
|
# Override default flag values for local packages and extra-deps
|
||||||
# flags: {}
|
# flags: {}
|
||||||
|
|||||||
@@ -3,5 +3,12 @@
|
|||||||
# For more information, please see the documentation at:
|
# For more information, please see the documentation at:
|
||||||
# https://docs.haskellstack.org/en/stable/lock_files
|
# https://docs.haskellstack.org/en/stable/lock_files
|
||||||
|
|
||||||
packages: []
|
packages:
|
||||||
|
- completed:
|
||||||
|
hackage: modular-arithmetic-2.0.0.2@sha256:7fa5ecf2a716f826f2090f838da1fd21e38fb20b55e46d1c2083944662383e86,1653
|
||||||
|
pantry-tree:
|
||||||
|
sha256: 337ec2899350d0a2f65fe9a1b64b0fc499465230ef124e9a0f3b4a4bd9aec14f
|
||||||
|
size: 383
|
||||||
|
original:
|
||||||
|
hackage: modular-arithmetic-2.0.0.2@sha256:7fa5ecf2a716f826f2090f838da1fd21e38fb20b55e46d1c2083944662383e86,1653
|
||||||
snapshots: []
|
snapshots: []
|
||||||
|
|||||||
Reference in New Issue
Block a user