diff --git a/advent_of_code/2022/3/input.txt b/advent_of_code/2022/3/input.txt new file mode 100644 index 0000000..3e41034 --- /dev/null +++ b/advent_of_code/2022/3/input.txt @@ -0,0 +1,300 @@ +wgqJtbJMqZVTwWPZZT +LHcTGHQhzrTzBsZFPHFZWFFs +RnLRClzGzRGLGLGCNRjTMjJfgmffSffMqNgp +WPLgsfLmLgqZvZgSRR +RbwHdbDdQFFFMvvMjbhqhZZS +lzTdldBDszfGcRsr +ZjnhJjMjnbdnbHdFLmmfFLmnCCWFFl +PpNwtRsNsZSsRwCfzQQBfQszCBsC +PpwcqqVZRtbggggjcgJJ +ntczBcVcgnHzgBHnVntcBBFhgsmmmssqWNWNWqLvNhsqTN +bSSGdSDZbGSGdDmLmGTvTGmLFFhm +PlFbDpJDPbPdPbZQZDZlSCDBfMVRwBzBtBQzfzRHVMVRtH +fDVrmmrvcmCcVpfcfGlswpPwsttMpjJMPPjjtP +RgSTdndFLbJqqPssWWjPWjPjHS +FqgzQnTqJRRQqLLhTCDhDCDmcmlvvlhcVm +nnqVtHbfVHZVmtlvmHtZtrFSFTRRFhRccTbrLsLSGr +cCNJQJPJQgjjMQdDrGGsRhTFGFRFSpMS +gzdCwWdjNPgzcJgjwdZtVlHHmvvmZlvffHnz +FFgsgwNwWvggQsMWDwvQQvQcccdcJZDtJGBtVGGGtcVlzt +rjfTrbjpjRSRTbTpzldjjHBtJGBdltJG +RbrPTfpCfmbpmnfRRCvMvQWNBwFFgMsgBL +zzLHgjjjdFHWbGBjjzcbgQRmSvqsSpmRsRSQSmRMWv +ZfJVrwPhZhZlhQQqBSQSNSqM +tnCfrDCltfPzHFFLBgngHz +DCpwrrMhwCrCMVCpGFqpVDnWWTWBtnTWvWfvbbTdFWRv +lmhhcsQPmTtTnnPBTB +QmcjNJsJzHNljZsNqDCGGhwqCqhgDDZV +hLfRnSLfhcndCCPfJJjzJfzt +pHNWwDpGGNJBZjjNNj +gmgwwHpWTpmGDmDTggqHmmDSsnnhvcqScdVVSVcjLrRcnq +CdlTJgnQJVCllNVWTPZBmPPGhGRmghPRGs +wHDrSwtHbmhRvHVZ +DzzwrtVFjLNnMTCTLCWW +SppdsnGpNVnZZZLPMlMPGq +mdcfvTTbBddLJgZJLlcFqJ +fzTvfwjjfzzCbvvjvQjWvNHVNNVWrRtdnVNppNprDp +lmlCGTmNbZlbSFlbNGfnzWfWzCdWWfVdwRCf +jDHtHHvLjQtqrsqpjBBLprRzwfwJfzzhRnczhWQVwzVR +rqpPtpPjDqpqDLtLrPGGFSFgPlNZZSGMPnMZ +pSHShqgSMzVpphFnJMFMBtssdjRJ +PZDbZfmCDgDfDNQPwCflCQNJsjRBRBFsdBWBsJRjsbsFJF +DQvCwwZrPPlffDmQCDwZQPmPhqVTcGhSHSLTpSGhLHzpGghr +gPqgqqmmmPgsqvGmsMCCnfZZfvBpWZhVrrZdHBvH +TSlcttTjRTDlDDTRhZVdrHHpWVnfVrtd +SFJzFzcJjcRJwGGqJMMCwW +gzWNLSjRLzlNqqQMLhvQccGGmcQm +fFrttPdTFTrpVwGpbdVQQp +HnTBGfHTGzWWqCqngn +SddrLdVpjjVSgRBszFswzwlV +mtPMbMqPMvqHHHDTTglBvsFshFFg +bmBHbtPctMtbMNMtbPtPqHmMjpdZdcJGrjSWWZGjJZnjndWj +nljWJHRHGrDcMBbDLZHV +wdvwmhghhbtBMcLtwZ +gvQvvghTfPSmpmQljGFRjQbFGCsJbC +BmphBWmDBBQfpVgQZpjg +rqqGrrrqlnqqHqjNnVDSSSgQQffj +FqLrbsLFsbLbLqHlMrmwwPDcCmMMmJBwDJcC +wZccfslqZPFFjrFbFfQQ +vvTvVWCJJZVBWCSvnVJJrhjQVMjVjzbgMQbjpphh +BBmNWBvZRvSqwsGwssPcmc +LGpnfcnzfzQdNFNHqHJptq +RBNNvZSBRbRCCDJqHrDZqHFZtw +SRNhRsNhWSNWsRRvgjngQnnMTnTgQjGMff +twtZmwqBHtmqnnmlGLfcfvQQ +dgMSPSMdQGclRRdF +pVMrDgThDDlPWPWbBZtZqqttBqjqjT +PPSWCGSzpCCQwNsNPFhTNVbB +vqcgJngqLLcZLvBhNTVlbsvdFF +DDmHgRjHZhHtGfWpQH +sBLbwWWBvsBsqLqStRjcGGRnggjGcntJDn +NCMQPMQPMQNzGGRRgRJRGzcG +dHQNfPCFTQfFfVVNvwwJvSWSqWqrSqdS +prDBnnDpFDprnDPBDQBvpBZttcSqSZSZcScFJSHcZJtz +VhMVdLsjdqVWJSWZZZcHst +hLVdGLfqjGjlfhCfCLjTTmrlpQBPBmvnrgDgpp +SSSTJmmgbGwtmRZHCCZRCH +FWcPQrrWqflzSWpRHZCZHRSt +PSQzzdcQTghdndDJ +cLlrNPvljRhRgTlM +VmDBGnVdmJDnDBndnnVwDRvMgRsTbTzMMsgZghzzsB +SpHvmGnSDJnwvDQqfrCPLpPLCfpF +PppbRCCgpzzQCgCSgZTlNNTWnNNDNlRnGl +hwMhLtBcBdjjNzWzlclcNGTs +FjJFHJwhfwLHMLJLwPmqfQPgVCmQgCmCzC +jTtMqFjMBqBmTntTztBTnTZBRZRLpLJgDgJNhghJrNNhhLJh +DCDdvdGsVDVsflVdQSsfSwhRJlgppgpRpbWLgJbJpgbR +wfSHSsdSVvQSwfwQPQPqHtFDcMzmtjBntqMTqn +HQhQWLCSHCSCjnjQdSJdCSQgTTmZPTVZmqnTpPtnpmRmpp +vDrzhvGzfchvlGvMFMrqVqPgZVVtZtVRgZgm +bcvMfwvDsDfbvfwDbbdhCShWCBLLJWjHsHjj +zLSsJNCjsjLCNLCgGcwBPPdwBwqwqz +WMFZprZDbrddWRVRRDvlPPBcPhhlBqqHPGPhhffg +VdbFvZWWWZZDFTLtCmNntjTnLSnn +JLVhhwRbhVwcLFJFhhJcccqwsvpRlllvpWvZSBSSSRsNWpzl +jgzfPffgZNspgZQS +fjCmDCGnfmTfFqrFnhqbFzqt +SfMRRNHSNNLfRfHcRRsqwdCCsssTqBCvgBLv +llDDWQnFGtQnmtGQDWQFsgdHVBddndHsgqTsCTsg +GzGjpWmWbmQmbpGGmGjHSrZcMfZSRPJPfcMRcb +PDdMdRTRrLDSwzJvfSvJ +FnjQnsqsFTnStvplhhzzFS +TBHHCsgVRRcMHbLR +GcLdGBJvBvLJHccJBvqHpGzDFfzwfzjwhDwrSFpfpDSn +mZZrTTQVmQmlsMPVblZQVZmfCwjzzjChzCCbDSzhFjfnSb +gZlRlZNPlmlgTTPmNRvJWcqrNLdvHWLBcHtH +jWWbBwgwWwwtvvSCtHvgWsMFmscHzTGMmcssGFTTGz +ZrLtpLnlfQJqnfJtpLnZlrqdNNGqcDNNFFTNDzzMMTMsMNMs +LJQrnZnfLZnlrZflJJRVRQbbwBgCtCVjWgjBjjgbPjBB +fqQVfRqSqmpnlLnm +jFcjMJTjhwwggjFtgzCHmCzCmGzGlzpn +wstMFFjWDfQRvmDPSB +PgTFGPgcBZPcHPFBZRjGPgwCnmwCsmSdQdThmMMMQCQS +JbpvWtvfHblWDHJDzmndSdMQnSwCdhMdQD +rfvWlLlbtfJvvLJpqWbbqZRRGPVFNHVFgZNVFBgH +TRMrrGBLMLPtbssTGtBHwZmdQQbdNzzZZNZZdwjd +CVlVhCnclvhWSFFfQrWNrjmpNfwmjZ +rlqFlclChhCvnlDvgVvRRtPtqTGJHRMBRTPPqM +gZzCrQGQdrQvZHPTHWDbTgWPJM +nSpLlcnnVjsSVLLnLSnhLSsJPTTWFsqfbPMFMqJDbfqM +VwwnpwLnlPdQCwPPCC +lRlrnlrsrMlhVsRnVhGPvCFNcPBDBvccrCGr +RZQTzWTRdDNvBDdNcC +TqjZbWRHmlMJgnmsng +scQmLfQBQQvvZfLsmmvDJwpgSNSDDdcJSSwTGD +PHlMbtzCCnlbztMRzlPNNdNwGpDpwgwptNLGpw +rRHnLbhCzbbCHnHjMbzzjzFZmfQqWZQqvmhmfVZmqFBW +fLTQWTMQtjcCGCJCbf +gGsmsVSzmjCFHJCJgg +SPRsSwSvBsPRPsqzwSVqzmhVWtLWhTDNLlTDtLTWGpNMtDLt +mbzRbchRRQzzssLdhLggLddJ +DCqDNNNWvDvjcPLsJcLLdv +cpFCVNnVBHtbfFRtMRFf +PFRcCCPtsDDDtjVspgwmgTNpTgTpspsw +BqqqdJdHdMgSfMmZpZND +vDHJGdLbLzBJdGnDdrBqVtCzWPPhthtPFzzPCFtV +HvhvHdFdvJDfHdZdpfhrmGPljPRrGPPVDGrWWC +NMMsRBMzcRRMMBSzcnbmNGrCVCWrCqPClmPqlG +zLBbwMzQnRSQMThtZFLvpdgHtJfF +DpcJcJPmMcLSHHZCfpnH +BsBFvvqTFlbhgdbBBblfZLCLzfHWfjnjLCnCrh +dTsNgqFvNgsGlZJRtVtMPmtDmG +LdGQqzPGCCjJTJdTLJQJtFcFRSctcrFNFltPFtcc +HphMMbbMdBMHbBhhgHMnhvwFFvtrlSNRNgcRllcvcc +spHMhBnHnnsmWdnsnMBMdVGGmzjzLmZLDQCCCCZjqjTD +DDZMzcTRgDMLzqCffhfWfcWnfj +NsHVVJmswwSSwNPPNjnhqhnCCnhNvjfTnv +rSSddrGSGrlMrpTpQT +bbbfCfrLHMMMWVWC +SqsvNZqQvvqcjNvqZsMMwgFgFplTHQVRFgWH +BSZWWqBZBjmPGJGLbBtf +RNCNfzfRHmzHwSdRdGfzRJPqFcFcDFGccZZqtLtGLtgl +pjhVMhvhbjvPcDJvcZqt +bsQMTsjppmSdTnHSJH +PtLwpSwdSJwQnGvvqtvMhZ +TlFcHlTjVjsDTQnCQhbZGCVVnb +cjljTslTrlzzHDNRfNgLSNBJfBwNfG +HvsZZqqqwWZswWHTmHsvvfhSfBfDffjchfBbhD +MCpnCVpQClRNnlNQVQClfDhScmjBfLhmLDGbBNbS +gmtpJpQQllJnWdZWwJWFwJJT +TzBvBwwdhgRPGHlRHh +NLWttJsrLWttppLpsGlsmVbVGRljGDRgjV +MlllnNFnnQqCdzqq +vptzrJhMMGGMptJPhJGJPvdFTFcSsTBVsczBScTSFFfn +gbRjWgRjCqjZnfHCHnTSVBHF +mRwqNbmqlbbjqRNlLbNrDJntNDGtDhNpGMrpvJ +GPWZLgWqLHHGbgbbGPPmqHqfcjjRHJJBDRBRjBBjMHjwvwQc +dhpFSpzVSSMSlDBvMQ +TndsVNztVTspnsdpshtmZLPCGGNPfgqbWWfDGb +CbqDjjCdClqgrfJvrv +NGNPtGGzzHztPWWnlgJvfBnWBFgp +hGzNHhsmGccwHPHZHcwdCCdbTVRTvSmTCjbLCb +sqnqsHGpJbqnrbshpshHmmmCWZZmWwfTjTjHmfLZ +dPggRgSDDttMFgctgdDtDcDcRWJBmjTWwmRLBLfmwBBjZWTB +PFcVPlJPglbqhhrnnlNz +wZdDNDdPPfhqwWqbsF +VTngRzpnzMLvzTCLlhvDfltqqDttqFqs +mggTVpCDDSNjBmPZrd +cSdqJSTTTJcSJpCdQbqTCPPdjdDtGzwzjDwjwwwwzD +rVvsBBVgsVBhHhfljtgbPgGtWjPtwt +fvHsVZHVnRHpSJJRmbbSLT +lDDPRRjwLGlvVRDRPlwwwPvmpSfhVWSzhqfzqpHpVpVHfqSH +qBnqBNsBBChhCSfZ +nTQbQnNNQJTLvlmTPLqqmG +TTCJhDrmDpRVhvhHfffwzwfz +dmmdmglWcqvHvWsHzB +gdQMZbtlgQlZcMSttCNmVVrLSTTJ +PLZLqhZZzZLBjjjGrrPjMH +CcQcCcfRlWDjdrMrBrHC +WlWFMcFpcRFmsWFcmflqSJzTqzwLvshggsZJwz +LgqRDDDHHGTpgpJrQrQhhhCqrwPw +ZSBWjjFshCFlQDrJ +SjWnnbWtWnsztgGDDbDTGgHHGp +llfvMlvzjzGzGRfvMSGRfSdStrCtQNCZrrFdJJLnNtLZ +shhhshPHsTTqsBHTVTwTwZZnCtQrQnJtQCCJBCCZdZ +TPHTPTHmDnljplfpGfGm +qcNTmvvSvTNrWhRrTdthzW +bDVJphpMMJwJpMHtrrttWsgwtzRW +bFpGJbllPfplVQmnhvvcSmCFqq +GTPJGMQTPQMqZjHTBmnndBVddHrrzNrz +bbcRFgDpptRbffwmzmrvLmcZvmLmLv +WCwgWbpgwtgfpfMlQGPhSPZWTZPl +DsPCswsMPBMwPDCVJPnTPPWFGJNJmbJW +RvvddfvftdtvNzghGSbFnWTntJSttGbG +LNgRddgRlgzcgCDjjjHjcBCwcM +gnVtgBnpwBgShBgcwhJJhjCMMMDmLRjDRMjrDMMMDMqMRF +slsblHPNHlbTNbsPvszHQWbzqrZLMRmFMFmdFmrtDFdMLNZD +bPzfvbfsvvlHtlzPHllHGTlTppCJpgcngcpwnwCGGJnnShwV +cgQRgtzDbHPcgHzQWpTjTLdjjNNpNLsDss +nwccZBmwcJqmJnjsTvmlTSsdlTNs +CCGFCBVrBwwGBhqVnZBrqWMMQzHfQcHzzzPtfztGfg +lhnwnhlbgbngbcfDgJLJQqDdVd +FSrvtMFZVJJJVtcq +jZNNNNjmjSPjFTJmGGzswwzHwHpBsbPblhhW +tnDWHntzDtzQBZLMLzNLDDcRFFjhJBmcFRCTjRchcRvT +sqwsPlbGfSbPGSVbJfpjjhcTFmCRjjvmTTvRdw +lJqSqPVbgGSGrVSqJqflbWZQNDMLHnrQQWNDMtQMQz +lpltwwJqsWVLPtVt +DGHsDdZQzHLSLZcFRrFS +BGsGCnHmMlMwCfwT +nrRNzRMPrrPnNwNzTSFSTNtqZdtMttvQqQmjdjvZpgjZ +GWVhGcGhHhGcffbZGDmmtttQvpdtbpppdj +HGlHBhHGJfJJhCfZzLTTNnNrTnCNwT +jBpCZStjBwWrQCMrhw +TvcHBzHdPPzdvFTzzJlvzdQfThrhhrhfQTWMQfWMqfwf +bzGJJBJcJvdvBPFzddGgjZSbZZngRZNNnnsjRs +dqPqbpPFJfsFfMcNQNNtNmzrNQJn +VVBDWvwZWDLwGlDhLGWWVcmQtSNmLmtSdSSTmrcQQm +lZlhwDCdhhHllvWvjMHbgMpgffMggpPb +SWSFLLFWDSWDNFzmmLMfGlfsdfnJMBfwMGVnBf +vPtgZcctcTQQZRRcgCtZwRfqBVGqnVTBGVnqlsdBJnqV +RcjgwbbgNSbFbhDb +JrRZLrHvjQFPLnnBPQ +DhwbtHbzpcpFTgtQ +zlDwlHlzWSwDqhMMbSJVZVvrCrCZJZNZdJ +fgNCZSDtDfDZTrTfqWghQGzGQshgpGGFQg +RFvLnvFjnVjmLQGPQWLmWh +MdwwVMFbMdRHFbccbCZJtbDJrqqJZNJZCZ +fdZVBMMdfdfBCzhTzMdMCgCrGGrpQJmSmGJGmpJQVpLmqV +RbFnhNsvlDsFHttllGmqGpPLvJpmPJSqLL +tjNsDnNwbNjttNNZTzhMWzcZcMTwMd +DjSSMShjRjPCbDFCdCSDbpBBswfNWZBZZrBVBPNfVmVf +zltLjLqqGlzQntqqGztqcgncZrVrmNfNwWBVrVmrgwrfswsW +qcTqHLlnJzGznLJtHGhMbhjFhMMpFbpbThpp +ZVFZcctFQzsCtbZFnPPHqmqpwmvPmp +NrjGfMgcLLcfdLqpmRwRRqJJmdPw +LMNDgMBGlgGDLMNDGljctVbVWZTTCWChhTttsl +RMGRRhhgzgZMtHdGTtvDwDJFCDvvwdvwqFFv +rfrrjLNmmSnSjVSmNNPPbJVbqvqsqvhvFqCq +flrpnSlrSNfjrNjSphNSWlHRGzTgtQGHQtttBTRBRQHW +tplDDprhbvprvrJDprCpbsvHRfzSzTtzmRqSTznRRBRnSfFF +MVwWjVNVQGfcMnTmRnBm +VQwGLNLjWNWPGjZbsDBppBZhhDvBlZ +RVVrGVVchRZsnzRzBWZb +FQHWWCHwQmWmlqfCHSwJnsbNJnNsvttntBtb +QQSFgqgqLMLPPdWdMVhWDT +cZrMjncTdfJpPJbr +WHNqnQwwCwvlqHtCtHNslNlvLLPDfSVdVPVDVSfVSbftffVf +NCwwwQwllwnvgsvZzgzFZzBzjGGGMM +MvHpfzcTcZzpphhbsDSTStsltqSDtS +PRmnwCrWnWQrmNMRNnlNGbqlbDltdlbDtNtD +CRJnmRVWJfgMLvcz +HPFbHrrwLdVdgbDZqcphCqSZBhLZ +tQRfRRGtvTNNSGTMjjmDCRhmqpBChqhsRDZh +vjSfMzGQNQQnMtNTTWNNjgblFdFHwgdJJHHPwddgnr +BggPRVBPPgfCBmJTjTTqpTNpZBwMbr +lclLLllsQLFlsbMqNrMwTpwpcM +SvbDzSDbWFJfWPPgdnfR +GbpSSbGDNbSSJbDZNZbDppGtMntHLHvHCTLCJMHnRCMLTT +cdwddjBfPsmPPQqQqscnHgRMtngvtjjgCCTMzM +WvwPvWvflBwdQPlNVVhbDGpFhNGhbl +WZRGmRvpCRFTZMQQQMCdddDDcD +lqgqsgvjVtbMDzzbtcDQ +NsNNgjNNjsNhnSvRmnpGRmSTSG +nTgFtDTDDLrFBStdGdcHcbvGSc +QPzfPCMzWCjfMPJhWGlRbRWRWrRRdVVH +zhCrCQCjPrpNNBsNspNnwq +zTJpqFzbTzsWsVbbfLGfSSCDNSBCHfMLHG +rZcvtmhctrvmlPPmmmrhhmBLCHDCCLLDlqMlGMNDMwDC +rRhRhnnQPZhtZcZtdttZgqFWWVjssqQpppWpFpJW +NWPhdWJPWVzVqQrqmSsPbrPP +cZDRjGsffGsCDfffgjGgRQSrTcTmSlTrbnqmSSrlln +fFGCjGCjLDLFRgfDHZvzLVWtvsWWBtzJNWMB +qMVbtnmMMTpCppsR +NffHGrWzWWgDBfTRhChCnSCWcnjT +QrlQBPBrlPHrrQlrHFLqPnLvVvbVmVVJtq +MVMpHMZLVCpMrfWjvWnfrJ +hlblzDDzwlSlGtRhRlSdrfGGWnWWfFPjJjnfqWGF +lmlhBRlDhhhDRRhwDmBpHJmsNCHmCgNHJCJLsc +jvsLgmqLgHvbPPVbNjSCjC +pwTcRpRWLRMLJJFwBBGWcFWNVlDDCSTVttNPblZZCVVDlP +GcdhccpcpRpGRhGmfsHHzLQQHrmsnh +FMmSRgtMltMnVgnmNvlrsJrsZWjspvsZJp +QbdhqwqbNqdHbTdcbcpsrpvjfWfLJLfwJrWp +DQBBQqQGccdTPGqqBNtFGRSMRSFGtnVSnnmM +fPjGrfFrrprprdrbQPZwlcZwZmlJwH +qvNnvWnvWDvSvqNtWSLWStqbcJBQwQJwQZHLBZbcmJbblb +DMtvqSvvDtntCRfwzGCgdzzFjG +TfdZgtmfDgqgvlLFFsFHvcvZ +pphWQMVjQVVBWWjRlHlHnlcLDDhcnF +JQwwWVPBwMJpJwpWwGBWNzrDzSSzfgTPqTSTTtSPgt \ No newline at end of file diff --git a/advent_of_code/2022/3/main.cpp b/advent_of_code/2022/3/main.cpp new file mode 100644 index 0000000..aa77dbf --- /dev/null +++ b/advent_of_code/2022/3/main.cpp @@ -0,0 +1,38 @@ +#include + +using namespace std; + +int main(){ + ifstream input_file("input.txt"); + string line; + unsigned int score = 0; + + // while(getline(input_file, line)){ + // set items; + // auto l = line.length(); + + // for(int i = 0; i < l / 2; ++i){ + // items.insert(line[i]); + // } + + // for(int i = l / 2; i < l; ++i){ + // if(items.find(line[i]) != items.end()){ + // if(line[i] >= 'a' && line[i] <= 'z'){ + // score += line[i] - 'a' + 1; + // } else{ + // score += line[i] - 'A' + 1 + 26; + // } + + // break; + // } + // } + // } + + while(getline(input_file, line)){ + + } + + cout << "Score: " << score << endl; + + return 0; +} \ No newline at end of file diff --git a/advent_of_code/2022/3/test.txt b/advent_of_code/2022/3/test.txt new file mode 100644 index 0000000..9919ffa --- /dev/null +++ b/advent_of_code/2022/3/test.txt @@ -0,0 +1,6 @@ +vJrwpWtwJgWrhcsFMMfFFhFp +jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL +PmmdzqPrVvPwwTWBwg +wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn +ttgJtRGJQctTZtZT +CrZsJsPPZsGzwwsLwLmpwMDw \ No newline at end of file