setup change, who knew puzzles would be part 1 & 2 all the time

master
cyberdick 2022-12-03 16:21:57 +05:30
parent 60c907a38a
commit 754cf5f4b9
13 changed files with 3016 additions and 2 deletions

10
.editorconfig 100644
View File

@ -0,0 +1,10 @@
# This file is the top-most EditorConfig file
root = true
# All Files
[*]
charset = utf-8
indent_style = tab
indent_size = 2
tab_width = 2
end_of_line = crlf

View File

@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup>
<ActiveDebugProfile>WithoutParams</ActiveDebugProfile>
</PropertyGroup>
</Project>

View File

@ -2247,4 +2247,4 @@
5785
2912
5664
2775
2775

2500
AOC2022/Inputs/2.txt 100644

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,300 @@
hqBqJsqHhHvhHHqlBvlfpHQQwLVzVwtVzjzttjQVSjMjwL
gRTRnCRsFNGbTzLjwcSTMmSz
dGgsRWPGdWgZJqBBqhfpPq
HNCNJHCWJRRLqNJWlfrrrwsmlwGmmf
dddvLdLjdDvjvswlmGwlZQtjrt
dvcpbLVcvNJJHNPHSp
QDprSpLQRLQrQDmQcQFZjbbhZwdRsRFbbBss
gWGGPgNvJlgJzDlNGHCGPNZZgFBbsjbFFBwZwfhdZbZB
lHTlGMHlGCPNvClzGzJHvGcrMcVtLqMLcrrQVcVDrqrm
SrBpJFfldlFNslFJBZwsmwgVGGsCCVmZZD
jLtjvzLQMtWjbbQvDZZwGRJGgwggGZgv
MzqqjznQPqnnjznnctnFlSddPfHflhfBJFNdHd
mPNNGVCRngnSbgNw
WqsqlTssgvqvZWZzhsTzWhScdHtfJJnfbtSJwfczdtSS
sqTvhpqQvWZQLmDpDGMDGrgL
DQRcLQVLbbcbrFPcRtTBBBJnTZrrnmZTrMgJ
slGjjjdlhMfvdMQTvg
jlzNhWHhhWjHlwwwGLDSDtPQVtRzRbSzpp
DzDgfvzfDczfHCHSlgHLCmWG
PrpNPJtpPMBssmmVdmSVVr
PSRMwPnMpBNtNBTnnZwDqzQFfwhjZZqfhh
fzfBwhBJFbCwbwwg
strtgtrPgmPgFRsMdRnZRMFn
mrmLPDvGmmtSLDgmSqvHchhcHQzcQQJHBfBh
NsgwPPDgsPHqsTqqmLbLrDRhmrRVrbVW
lFpGFtfFlvSFplGFzptSGSSlhZbhjhfrmWbhLhmLbCZVZjWr
ccplJQSGcSSpVFvNqqsqPNqPQPTwqd
HFhPNNZGqSZrCDBVZBCB
RJTtwczTzCRVQrRHpR
mfgblfltwgwwmlJgcHNnGhSbFNnFsFjFqG
tSRqNRHpHnMSTqpcmrWWfqfmrCQCrW
lhGDtbgVVgDsDbhfldfwrzrfcdzwcr
vtDDhsgFBTNZFBHS
LcNpLLBNgdmHGmsBCrRBQDDwnwRj
hSWfZVhfPJJhfVWbhzbnQqQnRRRqPvCCrjvjwj
ztJSSJhzzSTJrZSbzzJTfzbZmLmggdmNMFNpmtmMGFFGNpmt
TRdFfLbTnLvZVlZvznQV
pgJGprJNhghhNjjPgPNrhNqqlVVlQVVQqQjfzBfQvZzB
rmGmSwJPwJprrNDbsfMRsdTDcDWHfM
QMpZZTtwMBttJMMbVqPpqLqbVlbqqN
rjCFGrdGRwdDHSnqflPVLqqVNllrfl
DHGDRvhvwTZhJWBQ
LcQCCpLQVhrdcFQCJrmmmwDwvDtJJnnw
TsZqqTzMRqZjfsjTTDjsNJnmnStRSHnnSJmnJSNH
sMMZZbDjZFdbVCFphV
FCcdFFGBsdDrbMNSmSdmQR
tVttHVLhvVgfTTtffNSMQRMZSRmMQNmHSb
gngvvwJtVVTvVvvvfwvJThhCzGcnsCjmCDmscPcGCsGsmz
fsnzRNZswZszPRZSLflPpDhlhvgWHmjWvJjh
bVcCqjbdjbcMdBrddrQphvHHmHWlggpWpppqJJ
FBTdFQGrTjLNsNtL
MSWWgMdgdbWbbfdgsPmddgCmSLZvSFvLQvnLrFNZvZFLlLLl
hjpJjGthjRNRptwJJqVBllnvrrlTTQFZqnTZnn
tjDGHwhHHjwjjJGpwjwjjJpwsdgffmbgMsmbDNcMcdmCPdsm
MlDrrgnTDLlCCmCRFgRSCR
HHhbbNQMccQFSNBmmpJNSJ
MwbMbshsswVbHQsbcVMcrtDllTlLqfTGVzLGrTlT
gSFzqQTpmVpQVpLFLrzJJRthlsQBlPsZsBhZst
rwrNDdbHdBhRhZbsjB
vvvMHwHcwGCwwNfMVSrqffWpSfSFzLmT
RNgMgRCCgCfPNfvNgVQmhPVWWjWjLLdLBj
JhJqqqwGDchsBVbdjldmBLmG
schZzDwTJzFTsctHFMtfftgMttpM
GHHWqWFWfWHqbRWsFZFmqZbhNjNDNppNjrjDcQdbpddhjr
wCLCVPfwgVSnPNrQhnDcjcNpDD
TPgLlggJLVwPVVPPwgTwvtSCFmzGGqzGZsGRqWBGfFRFJFRB
LfFLmGTPHBfpHmzBLdZfBfZTbWWttWSDJtWVDJDtSWJzVCCV
RssRRRhrRwQqMQQwnPngQrwvVSjttjJSjSVtWWCWjbVb
hQPnnRnQgNcQqqQQcsZTNTLpdZZfpZFHNpBp
VTCVVnwfFTvFmTCvWwJHdlhHWBJhJBRWNHgh
ZbSMZbctGtScQSZsSpZpPpplhBhtdJDRDJjhdtlRJRjNRj
rLsbBQSMBGspPGcMPQvnqmwzwmCVLmqVmwTF
GVrrQVHHHQGTllQjPHGrlCQpZZpJFWZFzzjBssDJghzhFZ
NSMmWmtqMWqSNbcctdLcdghpgpppssZgbgzpFzJJFs
cfLqLwMRdtNLMlQrvflWTQPffQ
FjtGflGsbNqjsmjGGGbmqQQQBQBTjdpTpJTWvJBddj
CPrVRMnvvLSRHLnBpwdWTRBQwQzBzR
SnZMZPcHMlqchsvGGb
nnJnswzPCtmZDCpmhphD
rSVVLQQQGQjwpdmdNmpS
VvBcQvGcQgGLBgWrwznfJsncltJsJnssPM
dhbwLStzSGmmmzJJvFgJNvnrgvhv
VTsTsRscRsVBMRVTTsjZVPCnDNvfrPfDvNCfBrPNDJ
scHHQTpJZjHwzLSHHtqHSt
MHmFsBDmGpGTBfmCfWCffhzgvf
wcjwnRLPZRVbtCjtNttGCh
ZLGVJRrnPPPwQwPppqDHFpBFTpqFDr
GzMgVfGRdRVngDjhqcjctrtrzzzs
QbQSHwHSLbWwJJFwJPLPSWTQjrhqtjflThccsclCcscCCmmj
JFbNSbLvHHLQFLvwQJFWSBVgMNGdBBnBMVfddpGngB
sZHNJwMsvHswwvMWqBzhChWPMBzd
bHQQQRDHRcRcDljttBldlPBdggBCqB
QjnDbDjjjncRjbQnfZpvssZNHnppFNpvvp
NdmfPNMHMdNMHcffHBCwwsvsRRllvwlcqjwscw
VLhVGLpLShgvrjwFhjqfls
pppnnQtVpGZVWtzGgVzgSSfnCCDmdPBMDbmmDMmdNMBmWNmm
rrfgCrrMllfnBhBrdCFfWLFmmVFVWQvWwtwV
TmSGSqNzvwwTFVvj
NSGSmNbDzpmSpbHmSJqqlMgdMndcgdccdpgllRRh
bbPtLnLcLJzTjcJbbTcttLcSgwmvWfVvfVvBgfmWVJMJMJMW
ZsDNNGDRsrHzpNRwMlgRlgmMWvffWM
FGzQpZGGLFjnSFbF
DQZVDdWWNBtgWnJCnL
SSHSmbHRFqGrmqJrbbGzjmzCwrvgvwnBwnCvprwvpwwPvv
qFFFSmsRRzzFjcFsSsjmzJzflhlZTTThdhVflZlVDDhMcN
cdvrFddqDtDvqgCDtFtrvvvFSmShPShJVJmMJSJbVBgTlmbM
GzjpHzGHHfQNfJSlPQbJBSTJBM
HWpspsWjNsGRHfpwNszzLfGqnCnZtdvvcZvwqFCcZqMZCv
rhHhDhhDrRNwDRhNRLRqNPHjHSpVpVlljSSMnlHnjS
sVVBsFBJBtBSPSjtjPPZZS
JmddVTzsffcGNwzCqNqR
nQfqFtZWFZnFJWfpGqhDsGLLPLVbrPhr
CzjwMTgBgTNSGLVVDPbjbS
wMCmgNNdgvzGdRQcFGFdfJ
CbqCDnwFpDpCVfBPmPffPfRfpB
svcsjlGJGnlnvjvzgQQgGzsZPhBRcRPhWfBZBhPhWRRhPN
sJngnjSGGTGzgJGrrbCqLHrCLwSFqV
hnRnJrwMHnQRRRwMhRrnJRBLZtBPdPSdtZZjjstsLHBP
pBBzzcbTbzCcFzTvlSCZLCtSvvttdZ
FWmNzBFNDnRqNRDM
lvzlSPRDSpDJmNwNGgFpfsFN
WBHrtrLBbhWHtdrFwFFsjzwfFjsdsF
HWnrHnTWhWTCTzTBnRZqDDDCqZcclRvSJR
qcdVbpcMFQcdMGcMFjjpbCnCGmCnJHDHDGJChzCJCJ
wWwlSfBRgRNBDPJnCgCrgzms
tBTfTRwlwRLNwTRmWtNwQFZtqcjcdcqpbdQMqMdd
jJRzwDdwFdJddcjjFCFvQLvNlBhSBhCC
gMMpbHpmnHpWfnlCSBQCPmPllQSs
nHWHVfTGdTSjZzDT
sCVTsBPltgDSbLvRMMDT
WNrjNmWZwmZwfVLvLRbRNvMp
mrHGrmnjqVzjGqdmCltlhFFllgsHBPCg
wbglgTFRblnMRltJBNrDDWQbtdbN
dqCpcjPLGfHZQBJNGGvQDZ
SPssjVSqPCLpScfCgFRVmTlRwndlRwTR
hWMWMhTTDgWMzGMszQShGWJPCQmPVCNPffPfVJftqNQC
nbnHHwLrnswwPVCPZV
nsRvFHLsvplvrcsSWDDDddjjDlMTjT
HRCnhWZhCddgwRcwhdWZHHQLJzSLsSzjJwSjztsmtzsmLF
VlVVNNVqTlMVbTVVMqvqvrDTjQfFtjstJmzftfzsSbtStJQb
pQvvPpBqNBccPWWhcWWc
glJTndVWCTDDVFvnVndVlCvwmBmqBBwQmwPwmMPggGsPGm
NhcSrhNZHhZzRtHcNRrSMSMSFBMGmsQQGLMPPF
hcpRzbcHjRhRbZRzZRztzRpJVdCdnfCnlFvdDTnJCVDjWd
dqWvjjBdWWqMjdvvMJjWWjMGgcfchhzrhwbrwShwgzSqNb
mmmmsVTlVlsLQmnpsNcfgfwNLgczhcGhzw
RslpsnGGGlWdCZFMMRWR
pfSpZSrdSMVDVVLMMDDZpdgRWMPGqqPGqmqqGGhGHNRN
wwQBwtjvvJlvsnbTbvBRHgPmlqhlqWWHqZZgNm
JnQwJvjTtzTZwJnbzzfCrfLCfdfdddfD
PZcnljZFTVmQdlQh
JCLLqBBCSNCCqzJNzStBpStBmsdhVTdmVWsWmdhfLhWVdfrR
BpMzzqSzppMMqpJqqgzPFcjZjnTjgcjbPjPDPZ
HLHWmqBHHqWbMHFtbgWcdhspPcPchndPpn
ZRVSQZRfVZGRgnfsdhLgLndL
jzJRwJRSJJvSlZQGRVwlSGZDMqmmCCCmtNbCmtCMzFNLbF
fDhlBhhZmQRRfHwLdjHFFWQQjQ
ZMTssVVzvbCqJddsLwwH
TzgTbgGGzztMbbvzvVbGvSPBrlShRrfnNrnBDlNcRDZRZB
bjfqGfvFfcHvRwGFRHjbgQtddlQljWpWnQgdWWll
TSPVVSVwSzSDTDlntDndnlWddt
hTrrNCBCVrCrrVshThHHbZvFGscwbfFGRJcZ
jNhMjcgvMNgWggvttcFtchvPFFzdPPrQrrGGQQszRPQrRG
wSCqCmmppbTwPnGHrQdrGCCD
LlqwGmGScLcVthVt
dGGrWWDqmCnwCCQMQrMbFHbMHsPFgPVZbgFPgg
tLRTBwfvTBJcZFNFZRHSHPVN
zjJLTvjcwDzqqhGD
DzrWszFFrtBBhnhNCClHlnHbSbmlSn
ZLwLcVVZcLVpvRwLgMLpLJgPmmQSNSTNbtTvQmCHQCClCHCt
cfgZJwwVLJZPPVpRwzhzrrfGGBrGtDrBsf
BTsdCQsQnwwdcCqqdCnsFvGFpFBvGzrLLmmzpvfG
pjZjgPVlJVMVtgJSWLPvfFFFbNNmNbvbmL
ggVplgJtHSSggdCHsscChhdnnR
JddZcSlvvGFJNWVWFgQgVtFWhg
nDqsHqCszwjCCPMnfhfBhtdWggfg
bqppHqqHHbPLjLCppbwDdRNvdmcTmlNZGGbTTcNv
lcZDSvztcHHcMSZVHVvMZBqBNNFNhBNTTmssBqBcFB
bbGJQdQPpGfQJQdJfLFhmznhzLLNTFhNhf
JGpWpPJddbPpPwpjbtZSzltDgWDSgvtrVv
lJcNlNjPcmtFzHtHBJFg
VPZdwGGWVrsdPWhWwhzzCzzFppDFMBtttFCr
wshsLVfWTnGswdhwcmRjRmScqTcjlPNq
BsBshRZQQsVdsZQZSdsPDwJDHNNHBztNNFMGGwMF
nSTpLjcvHppzwwNt
jcqncjjvfmgrCfvqrnZbmdmSsdbVWlsmhRdW
FjjqRZjZFZWFqPvNvvPQpmbPDCmt
GSnHSnrScncHhrtncGshVbmTmbpVvppCmpCTmTCmCC
rHfnddwdfctlzFFgwqlj
wBwlBmmhwRVThVBmFHnvHMnfsmFfHq
jzwGSGJNZCCssHfsCPfv
GJbzbZdbwJdtdQphRVWQ
ztFZccVHFWHHLSDBpSBPhhZw
fmjsCmqnNTJnvbTvLRPDlCpBSPBpRShl
JqsGTSNJGqvqvNvttGQQGdFrQctrrF
mNZqjTFrZqrTNTTGSSSbrhrhRFRHcnLCzcCdHcLBdccHLzRC
JDDfJswJDWsvgVgwpWnRBlBzGCnlCLBlcCDl
vVGpfQWJpsPQMVgvppVwgWPJrqSZTrZqhTQTrhjbjqSSjZqt
fMSDzDHzpDDVsStdDgwwFZFrrMPCNngCZP
WmLnbWmvvWTTLWWQWRGQvLvrPFZJcgJFCZNrCgGCFCPNPF
QLhlqhljWvRQbbqlqnfStnHdBqVVfzpq
qWZtSQTSvJJvBfJVBBVFNDNHbbdRVPdpNFRF
fGcwwmCgsLhgwLchbpHdrrrphdPRPh
gMjllmcjwsLMgcwlMnSWzSqjSZJqZqZfjQWv
cdRHPjRFRdFVHGcFfFTHQTHVLSQBsbsqSCLqllBJqqbSqLJC
WwWppWgtNrnzzWDmrrmNvWJClJSSbqLJJCGbsCgJbLLg
MnvWpmwvWnvtGPjVRcHRRHMj
dLMDhdHGrcLTvvvstB
nPqgGGNPqRgRSjgmlWjbbTTPPBvpvpTcswwsTF
NRGmgjRnWgnZJqllmSqjnqSDhQzVrdQHDfDrDJQDMHDJzM
RgmcPmGNQwwNmSRwPPgfmrBlCDlGbvFFvtrCsvlrBB
nfdVnjHdMWnTqflFtbjrllrlsCDl
TZJVMhnfMnVMHnpRRNRzgJRzSzgwPR
nTbsblzlnGllmsNnbDwbcWQWwWBFJBQcWQvPWFJM
HRZRdSRdCdLdRftrHHZfSQBMWJMgMzQPFWMJCFWgvQ
HVzrLrrjRjLGnlTnlDlsjj
RQdTdZhWqlZhTdWTqblhNmTMVnnrQsnnpvgMVMHMgHMrgP
fjSSfjcCzGNBjCjsnpMVpnpzvpzsHp
GGwLGSccwjwLwBcGLGSqZWmmdLZLWThmRNZmWR
ncmBrmfdfcVcfGnQdVWRBRvgqNvDvWqzLRqg
PlpPbSbLFPLpFstsbqRqZMqWZqMWSDRzvq
sjtjHCwJwlHfdfjccmmLLQ
tGMtLHQGWzLHFVQtVfQtMWtbgrZNbdfSbccggrcTjTrfbm
swRChnwqhBCCCmSjcNSdcd
vnlnqDRlsRnJJqswJvGMFVMMdWtpVJFMQQFL
ffcHLzGmfvqqfWfF
rJrrRSPCPMCrPRQMNNWJQjJCnqFVVVTStqVnSBdqppBVtpqd
jNQQPjQMCRQwwQbRQbjMgwbNhwWZHHmzmlchlHHHDcLmWzhD
JzvrRHHJvCRZFPFnPgsQVVQNzQTQDttVsB
GSMjpqdbGNppBtDhPN
MbmqMwGbZPmPHJmv
ggVSVWzCNbbNCbRM
DfVhVsVQcQDmpmQTTQLjPjMjbDGNlbRMlNGG
sftTFJJccnphcfncTsfBvwZvrzgzZzZvBrVnzq
qqlClBNSCNSRQMvdrwFvnBrr
GDfhDtszhhsThpTDzsfpprMrFvQvrnnfvQrwHFbfFH
VtggWhpsmGVTGJWMjWjNjPWjLL
NSnShnjsswSsRPNsrnwcwMHfFwGqbvqCbFfg
LDJtzzmgVVlvqGbzvFfzff
mlJmQQpmJpZpBJJdjBNhrnnRdTTgNN
RtRRvbhDFPHHlhtPhRvPRtqjmzqzzwLjHQHLLLQVmVjq
WNNBBZfgfWnqVQwNqzmQcm
MZGfzSrTTnWrrWsTWnfSGbGllPCbGlJRvlPllCtt
phgcNfqgfpZsjjpdsS
brHHnWPbDPDbTPlDJJvJJPrMVVzRSdFzwdZZzFnsdzzVdVZs
SbStvJMDQgNmmtgg
lzDMDhfFRlfMFTfMGPMbFTlMpBHrmpjjCFjmBmrqBjtCmjjq
VvVswLLHZnJJwdndNsSSNBpCpjqjmNgrmCNtmmqm
nHcZWcSVsScTDlPPlTPb
DFMQSlMDpSpFDtDFccHvmqzvbHZjJmvzmmQH
CSgffrPssdgqRbqzzRqZ
dsdsfGsrBPsTVcMctMVNNhtStW
MDWRDWpgDvWpNptvNMnJCHJHMwHCndJfZn
blcrqTFmmcbhLTTTmlBZbjBJdBfBnCbQBdfn
TzlnhcnzTmhLRvSDsRzDPzWR
nwmmPnnPDjclhhjfFzzzwqbFFNHwVqVq
vSQrbpWCvMWQQWQMLgFJVHqzBzJVNqzBFL
CvCvQtWWQmcbtntPcb
qzvtzCCtLsLLzmQCHqpSsHSmfrnNrTrNWWMNGnWZTMZGBvWn
PglVFJwPhbcghVTBpBnWWhWnTMhB
FgjcJccVpwDcwFgVDsqzddqLqSDSCQQL
PLHsSVGGPvSLTffjMJWJJBjfBL
gNhwgTqDcqwpDqNhFpDFhFWfnndjcMJjMWzzBtntJBnW
DFhhQRRwbCbwRQChppmTHCVGTlslrsvrrSVZ
hHnRfSMmsSVrFvQqrmDPgr
jjcBzjZLpWccJLczBjZjWGwCnNzDvrgPCgQvFggvqrQFnr
jtZGpLwjWBpBWcfMTttfbHRnHTbT
swSHffFTVrJlHFSWrTpMZMPhMNBqBhTvhhqZ
bQbLQGGjQLdRCcQjGZBzpzBZqMBBBVdBqh
RjQDQGmgmVVbVcjjmjgcnWtJfrwsfrtHlwswnfHSFw
bVHbbMFDcbDbcmbbHVRbMRFgzSmdzSSTBtTjBdQTzlSldQjT
nqpqCMwJffqQSzTBQlqd
wvJhnnfrfsJrCNffvspRrPPFMbPMRRPPMZgZHR
FnJZnssHvMdJWJpW
mlDlllGrSGmttwlGvZgrzZNWgggzTzdT
bCltZCthtRcbcFbjFL
JGmHrJwGzzpllRZdzZLRcW
htbPSbVtFbbgjhffgPSfTVSDcHDDDLWscRdsZjdZcRssWc
vhfFbFvVHbtTVgFPhmJBCvBNrqBBrGCqQB
BcNQcvcBchSQNccLLvhTqbJZTrHrrrzzqTZMZMFZ
tpHDsnDRslllCCHtwnpsfjRgrJrVMfMmMrFrzVJFzrVZbZrr
tnDpjCwPLNSPdhPH
qnjvvBwBhSSFPgDQLVVDqgLr
WbszTbHTbsbHJWHLLMVZmJPQDrvmZL
ctlRbtCWWtvlSfjljjhBnBNB
TsnvssDDQlRbzMzjDMqHwq
tSGjZCfFZtCFLtVGWGZFbcqwHbhWdbzbwHbdwbdw
ZGBFJFZVBLjStZPBBZLRvlmsPTvsgrrnrTllvs
PgQdNsQFsdNwWqQBsQrTrTLpbrnTpGngnbTG
hCzzMJVDmfzmBDMCfSfhTMGcnpnTcjGrpjbMGjbL
CVVfvCflSHNHvPdBHW
DwlMjMNjStgmthMghg
PTlpHnJJTcZvTTbHZWZTvpqdHhmLgrgdfrhLLsmshmsLts
vncqTbPqcpCnbCPvccZbDBCGzzNBwjDlVVGFjjVR
QsdGGCztZVRddPgndf
DrNNBbwNHNwlbjFbbCNjNwDWWDPPVfDMgfmVMfnMWmmP
rvJBbbBNcLCtJZQL
NfLlqLhbNPddLPqLhpgHwFFwFHHTwRHWwPFTrT
MSMSCnjBnBjCscjVDVljTvHmmWnrwTrwFTrvTWTT
JCMMBzDMJcZZCjDzSBDNJgdfdQlqlLNdhgGLhp

84
AOC2022/Program.cs 100644
View File

@ -0,0 +1,84 @@
using AOC2022.Puzzles;
using System.Linq.Expressions;
namespace AOC2022;
internal static class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter Days separated by space, like '1 2 3 4 5'");
try
{
var daysToProcess = new List<int>();
if (args.Length == 0)
{
Console.WriteLine("No input processing all files in Input/ directory");
foreach (var file in Directory.GetFiles("Inputs/"))
{
var fileName = Path.GetFileNameWithoutExtension(file);
if (!int.TryParse(fileName, out int dayNumber))
{
Console.WriteLine("Just name the files 1.txt or something ffs");
return;
}
daysToProcess.Add(dayNumber);
}
ProcessDays(daysToProcess);
}
else
{
foreach (var arg in args)
{
if (!int.TryParse(arg, out int dayNumber))
{
Console.WriteLine("Just enter the numbers dude");
return;
}
daysToProcess.Add(dayNumber);
}
ProcessDays(daysToProcess);
}
}
catch (Exception e)
{
Console.WriteLine("Just enter the numbers dude");
Console.WriteLine(e.Message);
}
}
private static void ProcessDays(List<int> dayNumbers)
{
try
{
dayNumbers.ForEach(day =>
{
string instanceToCreate = "AOC2022.Puzzles.Day" + day;
Type? typeName = Type.GetType(typeName: instanceToCreate);
if (typeName != null)
{
if (Activator.CreateInstance(typeName) is IPuzzle puzzle)
{
puzzle.FirstPuzzle();
puzzle.SecondPuzzle();
}
else
{
Console.WriteLine("Something Broke");
}
}
});
}
catch (NotImplementedException nex)
{
Console.WriteLine(nex.Message);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}

View File

@ -0,0 +1,14 @@
{
"profiles": {
"WithParams": {
"commandName": "Project",
"commandLineArgs": "1 2 3"
},
"WithoutParams": {
"commandName": "Project",
"workingDirectory": "./"
//"commandLineArgs": "1 2 3"
}
}
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AOC2022.Puzzles;
internal class Day1 : IPuzzle
{
public void FirstPuzzle()
{
throw new NotImplementedException();
}
public void SecondPuzzle()
{
throw new NotImplementedException();
}
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AOC2022.Puzzles;
internal class Day2 : IPuzzle
{
public void FirstPuzzle()
{
throw new NotImplementedException();
}
public void SecondPuzzle()
{
throw new NotImplementedException();
}
}

View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AOC2022.Puzzles;
internal class Day3 : IPuzzle
{
public void FirstPuzzle()
{
throw new NotImplementedException();
}
public void SecondPuzzle()
{
throw new NotImplementedException();
}
}

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AOC2022.Puzzles
{
internal interface IPuzzle
{
void FirstPuzzle();
void SecondPuzzle();
}
}

View File

@ -3,7 +3,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33122.133
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOCDayOne", "AOCDayOne\AOCDayOne.csproj", "{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOCDayOne", "AOCDayOne\AOCDayOne.csproj", "{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{99F5AC62-C5E8-4264-A511-C2ED59988EDA}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2022", "AOC2022\AOC2022.csproj", "{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -15,6 +22,10 @@ Global
{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Release|Any CPU.Build.0 = Release|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE