From 201f5d28f6c7c608c7229ada089efce5a4353233 Mon Sep 17 00:00:00 2001 From: Griff Date: Sun, 11 Dec 2022 19:57:51 -0500 Subject: [PATCH] Inital commit | up to day 3 --- .vscode/settings.json | 93 ++ 01/answer | Bin 0 -> 50736 bytes 01/input.txt | 2232 ++++++++++++++++++++++++++++++++++++ 01/solution.cpp | 32 + 02/answer | Bin 0 -> 26936 bytes 02/input.txt | 2500 +++++++++++++++++++++++++++++++++++++++++ 02/solution.cpp | 99 ++ 02/test_input.txt | 3 + 03/answer | Bin 0 -> 75864 bytes 03/input.txt | 300 +++++ 03/solution.cpp | 119 ++ 03/test | Bin 0 -> 34224 bytes 03/test.cpp | 29 + 03/test_input.txt | 6 + 14 files changed, 5413 insertions(+) create mode 100644 .vscode/settings.json create mode 100755 01/answer create mode 100644 01/input.txt create mode 100644 01/solution.cpp create mode 100755 02/answer create mode 100644 02/input.txt create mode 100644 02/solution.cpp create mode 100644 02/test_input.txt create mode 100755 03/answer create mode 100644 03/input.txt create mode 100644 03/solution.cpp create mode 100755 03/test create mode 100644 03/test.cpp create mode 100644 03/test_input.txt diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..597a00c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,93 @@ +{ + "files.associations": { + "string": "cpp", + "any": "cpp", + "array": "cpp", + "atomic": "cpp", + "barrier": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "bitset": "cpp", + "cctype": "cpp", + "cfenv": "cpp", + "charconv": "cpp", + "chrono": "cpp", + "cinttypes": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "codecvt": "cpp", + "compare": "cpp", + "complex": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "coroutine": "cpp", + "csetjmp": "cpp", + "csignal": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cuchar": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "forward_list": "cpp", + "list": "cpp", + "map": "cpp", + "set": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "vector": "cpp", + "exception": "cpp", + "expected": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "regex": "cpp", + "source_location": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "future": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "latch": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "ranges": "cpp", + "scoped_allocator": "cpp", + "semaphore": "cpp", + "shared_mutex": "cpp", + "span": "cpp", + "spanstream": "cpp", + "sstream": "cpp", + "stacktrace": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "syncstream": "cpp", + "thread": "cpp", + "typeindex": "cpp", + "typeinfo": "cpp", + "valarray": "cpp", + "variant": "cpp" + } +} \ No newline at end of file diff --git a/01/answer b/01/answer new file mode 100755 index 0000000000000000000000000000000000000000..d28e98f3909661efcbd337d0706a163f601e025d GIT binary patch literal 50736 zcmeHw4SZZ>mG@2hL4iWkN+FbwhEkvf8Zv3xrWDKcW6Ff4B_=6UELsFlDf>9Bpvd;TI=Q+>4cW&+! zsO#>#zs>zMJ@cHe=RD^*&v`!Xy)z#O)UPQmDKYd_YAiRXG&J4MDD}T#RPE)W;A)MN z48Kuf%r+(iGZBA&rVv!0G(1?U2pUciz6pRNS56-o`U~KhTrvy|wS@#p&c6KeQNgll zs;Hq+rphEYi9Sl%DDzVZWj})za~K#JYCfwz#by|O`5&A#(RdqH>Y;suLqD$~izYNnH2RrsTrx?=qXqx24=pKw~f#3(5! zmr5Bdd=c*{_@m~M{F=YaeCFNXd^!HP_C;Tv_LIi;1^;|-67f(wNGI{oMf_s2Ri1@U z#H0LEW}I_Q+3`dqJdK}<|9JiQS6}}4nWx-0byauWO<$iMc)p(KUe`0IV1@@Fj|#l- zLomh*Pj-9ZUn!zzYY{!!B6>bmM9+dE_CHnx|E(hRez6Guv?BN)7P0gBB6cKRD{`VGX7tlrp{@mBu!rxcsFCcwE^f$|5WEmRtl zP#Fou>%z@uplOk*q^he-Gt-_*-eSfgiMC9;8A+v*DW#LlTB>BDN!0A2KHSw3=tA|a zv4*ZVwWKK-O9!I-=^Zy|m5+5bWojac)|h8~9?fYso2$^E#q3C!SR)p1*3I=W8#SSc zn&=9}qOE2q)z%r0Br@Warc5o|VWOHyObD!*pzHC1FXu2PF2or2|-OPmJE}#(AjN~43c=ntBtCA9Sx02L!_Zg%*ORa!=
    7DA@f>xzcp)F=2q63H;2>aev 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 +#include +#include +#include +using namespace std; + +int main() +{ + string foodStr; + ifstream inputFile("input.txt"); + vector foodList; + int elfFood {0}; + while ( getline(inputFile, foodStr)) + { + if (foodStr == "") + { + foodList.push_back(elfFood); + elfFood = 0; + continue; + } + elfFood += stoi(foodStr); + } + sort(foodList.begin(), foodList.end()); + int total {0}; + for(int i {0}; i < 3; i++) + { + cout << foodList.back() << endl; + total += foodList.back(); + foodList.pop_back(); + } + cout << '\n' << total << endl; +} \ No newline at end of file diff --git a/02/answer b/02/answer new file mode 100755 index 0000000000000000000000000000000000000000..09767b524c991c53f915b60663d423c0609c6fc4 GIT binary patch literal 26936 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 V`^^vy6P5HQEhTY-N5R92{|5d1SH=JU literal 0 HcmV?d00001 diff --git a/02/input.txt b/02/input.txt new file mode 100644 index 0000000..16845b0 --- /dev/null +++ b/02/input.txt @@ -0,0 +1,2500 @@ +A Z +C Z +C Z +A Z +C Y +C Z +A Z +B Z +A Z +A Z +C Z +A X +C Y +C Z +C Y +C Z +A Z +C Z +A Z +A Z +C Z +C Z +C Z +A Y +C Z +C Z +C Y +A Z +C X +A Z +A Z +C Z +B Y +C Z +C Y +C X +C Z +C Z +B Y +A Z +C Z +C Y +B Y +C Z +A Y +B Y +C Z +C Z +A Z +A Z +A X +A Z +B Z +A Z +A X +A Y +C Z +C Z +A Z +C Y +A Z +C Z +B Y +C Z +C Y +B Z +A Z +C Z +A Z +B Z +A X +C Z +A Z +C Y +C Y +C Z +A Z +C Z +C Y +C Z +C Z +C Z +C Z +C Y +A Z +C Z +C Y +A Z +A Z +A Z +C Z +A X +A Z +A Z +A Z +C Z +C Y +C Y +A Z +A Z +C Y +A Z +C Z +A Z +C Y +B Y +C Z +A Z +A Z +C Z +A Z +C Y +A Z +A Z +C Y +A Z +C Z +A Z +A Z +A Z +C Y +A Z +B Z +C Y +C Z +B Y +A Z +A Z +C Z +C Z +B X +B Y +A Z +A Z +A Z +C Z +C Y +B Z +C Z +C Z +C Z +A Y +A Z +A Z +C Y +C Z +A Z +C Z +A Z +A Z +C Z +C Z +C Z +C Y +C Y +C Y +C Z +A Z +C Z +A Z +A Z +C Z +A Z +C Z +A Z +A Z +B Z +A Z +A Z +C Z +C Z +C Z +C Z +C Z +C Y +B X +A X +A Y +A X +C Z +A X +B X +A X +B Z +A Z +C Z +C Z +C Z +C Z +B Z +C Z +A Z +A Z +A Z +A Z +C Z +A Z +A Z +C Z +A Z +C Y +C Z +C Z +B Y +C Z +A X +A Z +A Z +C Y +C Z +C Z +A Z +C Z +A Z +C Z +A Z +C Y +A Z +B Y +C Z +C Z +A Z +C Z +C Y +C Z +A Z +A Z +C Z +C Z +A Z +A Z +C Z +C Y +C Z +C Z +C Z +C Y +C Z +A Z +C Z +A Z +A Z +A Z +B Z +A Z +C Y +A Y +A Z +C Z +A Z +A Z +C Z +A Z +C Z +C Z +C Z +A Z +B Z +C Y +C Z +C Z +B X +C Z +C Y +A Z +A Y +C Z +C Y +B Y +A Z +C Z +A Z +B Y +C Z +C Z +C Z +B Z +B Z +C Z +C Z +C Z +C Z +A Z +A X +B Y +C Z +C Z +A Z +C Y +A Z +C Z +A Z +C Y +C Z +A Z +C Y +C Y +C Z +A Z +C Z +C Z +C Z +A X +A Z +C Z +C Z +C Z +A Z +C Z +C Z +C Y +C Y +C Y +C Z +C Y +C Z +A Z +A Z +C Z +C Z +C Y +A Y +C Z +C Z +B Z +A Z +A Z +A Y +A Z +B Y +A Z +C Y +A Z +C Y +A Z +A Z +A X +B Z +C Y +A Z +C Z +A Y +C Z +C Y +B Y +A Z +B Z +B Z +C Z +A X +B Y +C Z +A Y +C Z +A Z +C Z +B Z +C Y +C Z +A Z +C Z +C Y +A Z +A X +A Z +A Y +C Z +A Z +C Y +A Z +C Z +C Y +C Z +B X +C Z +C Z +C Z +C Z +C Z +C Z +C Y +C Y +C Z +B Z +B Z +C Z +B Z +A Z +C Z +C Y +C Z +C Z +A Z +C Z +B Y +C Z +A Z +C Z +A Z +C Z +A Z +C Y +A Z +C Z +C Z +C Z +C Z +C Z +C Y +C Y +A Z +A Z +C Z +A Z +A Z +B Y +A Z +A Z +C Z +C Y +A Z +C Z +A Z +A Z +C Z +C Z +C Z +A Z +C Y +C Z +C Z +C Y +C Y +C Y +A Z +C Z +A Z +C Z +B Y +A X +C Z +C Z +C Z +C Z +B Z +A Z +C Z +A Z +B Z +B X +C Z +B X +C Z +C Z +A Z +B X +C Z +A Z +A Z +B Y +C Z +C Z +B X +C Y +A Z +A Z +B Z +A Z +C Z +A Z +B Y +A Z +C Z +B Y +C Y +C Z +C X +C Z +C Z +A X +C Z +A Y +C Z +A X +A Z +C Z +C Z +C Z +B Y +C Y +A Z +C Z +A Z +C Z +C Z +C Z +C Y +C Z +C Z +B Y +A Z +C Z +C Z +C Z +A Z +C Z +A Z +B Z +C Z +A Z +C Z +A Z +C Y +C Z +C Z +C Z +C Z +A Z +A Z +B Z +A Z +B Z +C Z +C Z +C Y +C Z +A Z +A Z +C Z +A Z +B Y +A Z +C Z +C Z +A Z +A Z +A Y +A Z +C Z +A Z +C Y +C Z +C Z +C Z +A Z +C Z +C Z +B X +A Z +A Z +C Y +B Z +C Z +A Z +A Z +A Y +C Z +C Z +C Z +A Z +C Z +C Z +C Z +B Y +A Z +B Z +C Y +B Y +A Z +A Z +A Z +C Z +C Y +A Z +A Z +C Z +C Z +A Z +B Z +C Z +A Z +A Z +C Z +A Z +A Z +A X +B Z +C Z +C Z +C Z +C Z +C Y +A Z +C Z +C Y +C Z +B Y +A Z +A Z +C Z +C Z +A Z +C Y +C Z +A Z +A Z +C Z +C Z +C Y +B Y +C Z +A Z +A Z +C Z +C Z +C Y +C Z +A Z +C Z +A Z +C Z +A Z +C Y +C Z +C Z +C Y +A Z +B Y +C Z +A Z +C Z +C Z +B Z +B Z +A Z +C Z +C Y +C Z +C Z +A Z +B Y +B Z +C Z +A Z +C Z +C Y +C Z +C Z +C Y +C Z +A Y +A Z +A Z +A Z +B Y +C Z +C Z +C Z +C Y +C Z +A Z +C Y +B Y +C Z +A Z +A Z +C Z +C Z +A Z +A X +B Z +A Z +C Z +A Z +C Z +C Y +A Z +A Z +C Z +C Z +B Z +B Y +A X +A Z +A Z +A Z +A Z +C Z +C Z +C Z +C Z +C Y +A Z +A Z +C Y +C X +A Z +A Z +A Z +A Z +C Z +C Z +C Z +C Z +C Z +A X +C Z +A Z +B Y +B Y +A Z +A Z +C Z +C Y +C Z +A Z +A Z +A X +A Z +C Z +A Z +A Y +A Z +C Z +B Y +B Y +C Z +B Y +A Z +B Y +C Z +B Z +B Y +C Y +C Z +C Y +C Z +A Z +C Y +C Z +C Z +C Z +A Z +C Z +C Y +C Z +B Z +C Z +A Z +B Y +B Z +C Z +B Y +C Z +A Z +C Z +C Z +A Z +C Y +C Z +B Y +A Z +B X +C Y +C X +C Y +A Z +B Z +A Z +A Y +B Y +C Z +A Z +C Z +C Y +C Z +A Z +B Y +A Z +A Z +B Y +C Y +A Y +C Y +C Z +C Z +A Z +C Z +C Z +A Y +C Z +A Z +C Z +C Z +B Y +B Y +C Z +B Z +A Z +A Z +A Z +C Z +C Y +C Z +B Y +C Y +A Z +A Z +C Z +B Y +C Y +B Y +C Z +A Z +B Y +A Z +A Z +A X +C Z +C Z +C Y +A Z +C Y +C Y +C Z +A Z +A X +C Z +A Z +A Z +A Z +C Z +C Y +A Z +A X +C Z +C Z +C Y +C Y +A Z +C Z +B Z +B X +A Z +C Z +B Y +C Y +A Z +A Z +C Y +C Z +C Y +C Y +B Y +C Z +C Z +A Z +B Y +C Z +C Z +A Z +A Z +B Y +C Z +C Y +A X +A Z +C Y +A Z +C Z +C Z +A Z +C Y +A Z +C Z +C Z +C Z +C Z +A Z +C Z +C Y +B Z +C Z +A Z +C Z +C Z +B Y +C Z +A Z +A Z +A Z +C Y +C Z +A Z +A Z +C Z +A Z +A Z +C Z +A Z +C X +A Z +A Z +C Z +A Y +B Z +A Z +C Y +A Z +C Y +B Z +C Z +B X +C Z +A Z +A Z +C Z +B Y +C Z +C Z +B Z +A Z +B Y +C Z +C Z +C Z +A Z +C Z +B Z +A Z +C Z +A Z +B Z +A X +C Y +A X +C Z +C Y +C Z +C Z +B Y +B Y +C Z +B X +C Z +A Z +A Z +B X +A Z +C Z +C Z +C Z +B Y +C Z +C Y +A Z +B Z +C Y +C Z +C Z +A Z +C Z +A Y +C Z +C Z +C Z +A Z +C Z +C Z +C Y +C Z +B Y +B X +A Z +A Z +C Z +C Y +C Y +C Y +B Y +A X +C Z +B Y +A Z +A Z +C Z +B Y +B Y +C Z +A Z +C Z +C Z +C Z +C Z +B Y +C Z +B Y +B Y +A Z +C Z +B Y +A Z +A X +C Z +C Z +C Z +C Z +C Z +C Z +C Z +B Y +A Z +B Z +A Z +C Z +A Z +C Z +A Z +C Z +A Z +A Z +C Y +A Z +A Z +C Z +C Z +C Z +C Z +B Z +C Z +A X +A Y +B Y +B Z +A Z +C Y +A Z +B X +A Z +C Z +B Z +B Y +C Z +C Z +C Y +C Z +A Z +A Z +A Z +A Z +A Z +A Z +A Z +A X +A Z +A Z +C Z +C Z +C Z +A Z +B Z +C Z +C Z +A X +C Y +A Z +C Z +C Y +A Z +A Z +C Z +C Z +A Z +C Z +C X +C Y +A Z +A Z +C Z +B Y +C Z +A Z +A Z +A Z +B Z +A Y +B Y +C Z +C Z +C Y +C Y +B Y +A Z +A Z +B Y +C Z +C Z +A Z +A Y +A X +A X +C Z +A Z +A X +A Y +A Z +C Y +A Z +C Y +A Z +C Y +B Z +B Y +A Z +C Z +A Z +C Z +C Y +A Z +C Z +A Z +B Y +A Z +C Z +C Z +C Z +A Y +C Z +C Z +C Z +A Z +C Y +A Y +C X +C Z +A Z +A Z +A Z +A Z +A Z +B Y +B Y +C Z +C Z +C Y +A Z +C Z +C Y +C Z +C Y +A Z +A Z +C Z +A Z +C Z +C Y +A Z +C Y +A Z +C Z +C Y +B Y +C Y +C Y +A Z +A Z +C Y +C Z +C Y +B Z +A Z +C Z +C Z +B Y +C Y +A Z +A Z +C Z +A Z +B Z +C Z +A Z +C Z +C Z +A Z +A Y +B Y +C Y +C Z +A Z +C Z +A Z +C Z +A Z +C Y +C Y +C Z +A Z +A Z +B Y +C Z +A Z +C Z +A Z +A Z +C Z +C Z +C Z +C Y +B Y +C Z +A Z +B Z +A Z +A X +C Z +A Z +A Z +C Z +B Y +A Z +A X +C Y +C Z +C Z +C Z +C Z +B Y +C Z +B Z +A Z +A Z +A Z +A Z +B Z +B X +C Z +A Z +C Y +A X +C Z +C Y +C Z +C Z +B X +C Z +C Y +A Z +C Z +A Z +C Z +B Z +A Z +C Z +B Y +C Z +C Z +C Z +C Z +C Z +C Z +A Z +C Z +A Z +A Z +B Y +A Z +C Y +B Y +B X +C Z +C Y +C Z +C Z +C Y +C Y +B Y +C Y +C Z +A Z +A Z +A X +C Z +C Z +B Y +C Z +C Z +A Z +C Z +B X +C Z +C Z +C Y +C Z +C Z +C Z +A X +C Z +A Z +A Z +C Y +B Z +A Y +C Z +C Y +B Y +C Z +C Z +C Z +C Z +A Z +C Z +C Z +A Z +C Z +C Y +C Z +C Z +A Y +C Z +C Y +A Z +C Z +C Y +C Z +C Y +C Y +B X +A Z +C Z +C Y +C Y +A Z +A X +C Z +A Z +C X +B Y +A X +B Z +C Z +B Y +A Z +C Z +A Z +C Z +A X +C Z +C Z +C Z +C Y +A Z +C Y +C Z +C Z +A Z +A Z +A Z +C Z +A Z +C Y +C Z +A Z +A Z +C Z +A Z +C Z +C Z +C Z +C Z +B Y +A Z +C Z +A Z +C Y +C Z +A Z +C Y +C Z +A Z +C Y +C Y +A Z +A Z +A Z +C Z +C Z +B Y +A X +A X +A Z +C Z +C Y +C Y +C Y +C Z +A Z +B Y +A Z +A Z +C Z +C Y +C Z +C Y +C Z +A Z +C Z +C Z +C Z +C Y +A Z +C Z +B X +C Z +C Z +C Z +C Z +A Z +C Z +C Z +C Z +C Y +C Z +A Z +C Z +B Y +A Z +C Y +A Y +C Z +C Z +B Z +C Z +C Z +B Y +C Z +A Z +C Y +C Z +B Y +C Z +A Z +C Z +C Z +C Z +A Z +B Y +C Y +A Z +C X +C Z +C Y +C Z +A Z +A Z +C Y +C Z +A Z +B Y +A X +C Y +B Y +A Z +B Y +A X +B Z +A Z +A Z +A Z +A Z +C Z +C Z +A Z +A Z +A X +C Z +A Z +A Z +A X +B Y +C Z +C Z +C Z +B Z +C Z +A Z +C Z +C Z +A Z +A Z +C Y +C Z +C Z +A Z +A Z +C Y +C Y +C Z +A Z +B X +A Z +A Z +C Z +C Z +C Z +B Y +A Z +C Z +A X +B Z +B Z +C Z +C Z +C Y +A X +A Z +B Y +C Z +B Y +C Z +B Y +C Z +C Y +C Z +A Z +C Y +C Y +A Z +C X +B Z +C Z +C Z +A Z +C Y +A Z +A Z +B Z +A Z +C Z +C Z +C Z +C Z +A Y +C Y +A Z +C Z +C Z +C Y +A Z +B Y +A Z +B Z +A Z +A Z +B X +B Z +A Z +C Z +C Z +C Z +C Z +C Z +A Z +C X +C Z +C X +C Z +B Z +C Y +A X +A Z +A Z +C Z +C Y +C Z +C Z +A Z +C Z +A Z +A Z +A X +C Z +A Z +A Z +A Z +A Z +A Z +A Z +B Y +A Z +C Z +B X +B Z +C Z +A Z +A Z +B Z +C Y +A X +C Z +B Y +B Y +C Y +A Z +A Z +A X +C Z +C Z +A Z +C Y +B Y +A Z +B X +A Z +A X +A X +A X +A Z +A Z +C Z +A Z +A Z +A X +B X +B Z +B X +A Z +B Y +A Z +C Z +A Z +A Z +C Z +A Y +C Z +B Z +C Y +C Y +A Z +C Z +C Z +A Z +B Y +C Z +A Z +A X +B Z +A Y +B Z +C Y +C Y +C Z +A Z +C Z +C Z +A Y +C Z +A Z +B Y +C Z +B X +A Z +C Z +C Y +B Y +A Z +B Y +B Z +A Z +A Z +B Y +C Z +A Z +C X +C Z +C Z +B Z +B Z +C Z +A Z +A Z +C Z +A Z +C Z +C Z +A Y +C Z +A X +A Z +A Z +A Z +A Z +A Y +A X +C Z +C Z +C Z +C Z +A Z +B Z +C Z +B Z +B Y +C Z +C Z +C Z +A Z +C Z +B Y +C Y +A X +A Z +A X +C Z +B X +C Z +A Z +B Y +C X +A Z +C Z +C Z +A Z +C Z +A Z +A Z +A Z +A Z +A Y +A Y +A Z +A Z +A Z +A Z +C Z +C Z +C Z +A Z +A Z +C Z +A Y +C Z +B Z +C X +C Z +C Y +A Y +B Y +C Z +C Z +A Z +C Z +A X +B Y +C Y +C Z +C Z +A Z +A Y +A Z +A Z +C Z +A Z +C Z +C Z +C X +A Z +C Z +A Z +A Z +C Y +B Y +C Z +A X +A Z +C Z +A Z +C X +A Z +C Z +C Y +A Z +A Z +C Z +C Z +C Z +A Z +A Z +C Z +A Z +A X +C X +C Z +C Z +A Z +A Z +A Y +C Z +C Z +B X +C Z +C Y +C Z +C Z +A Z +C Z +A Z +C Y +C Y +C Z +A Z +C Z +B Y +C Y +A Z +B Z +A Z +B Z +A Z +A Z +C Z +C Z +C Z +A Z +C Z +A Z +B Z +C Z +C Z +C Z +A Z +C Z +C Z +C Z +C Z +C Z +C Z +C Z +B Y +A Z +B Y +C Y +C X +C Z +C Z +C Z +C Z +C Y +A Z +C Y +A Z +C Y +C Z +C Y +C Z +C Y +A Z +A Z +C Z +C Z +B Z +C Y +C Z +C Z +C Z +B Z +B Z +B Z +A Z +A Z +A Z +C Z +B Z +A Z +A Z +C Y +A Y +C Y +C Z +C Y +C Z +C Z +C Y +A Z +C Z +B Y +C Y +B Y +A Z +C Z +A Z +A X +A Z +C Z +A Z +A Z +A Z +C X +C Z +A Z +C Z +C Z +C Z +C Z +C Z +C Z +A Z +C Z +C Y +A Y +B Y +B X +B Z +C Z +C Z +A Z +B Y +C Z +A Z +B Z +C Z +A Z +C Y +C Y +B Y +C Z +C Y +C Z +C Y +A Z +C Z +C Z +A Z +A Z +A Z +C Z +A Z +A X +A Z +A Z +C Z +C Y +C Z +C Z +C Z +A Y +B Y +A Z +A Z +A Z +A X +B Z +A Z +C Y +B Y +A Z +A Y +B Z +A Z +B Y +C Z +B Y +A Z +B Y +C Z +C Z +A Z +A Z +A Z +C Y +B Y +B X +A Z +C Z +A X +B Z +A X +A Y +C Z +B X +B Y +A Z +A Z +B X +C Z +C Y +C Y +C Y +C X +C Z +C Z +C Z +A Z +B Y +C Z +A Z +A Z +A Z +A Z +C Y +C Z +C Z +A Z +C Z +B Z +B Y +A Z +A Z +C Z +A X +A Y +B Y +A Z +A Z +B Z +A Z +C Z +A Y +A Z +C Z +C Z +A Z +A Z +C Z +B Y +A Z +A X +C Y +A Z +C Z +C Z +C Z +C Z +A Z +C Y +C Z +A Z +A Z +C Y +A X +C Z +B Y +A Z +B Z +C Z +B Z +A Z +C Y +C Z +B Y +C Y +C Z +A Z +C Z +C Z +A Y +A Z +B Z +A X +C Y +A Z +A Z +C Z +B Y +C Z +A Z +C Z +A Z +B Y +A Z +C Z +A Z +B Y +A Z +C Z +C Z +C Z +A Z +A Z +C Z +A Z +A Z +C Y +A Y +B Y +B Z +C Z +C Y +A Z +C Y +C Z +B Y +C Y +C Z +B Z +C Z +C Y +C Z +C Y +C Z +C Y +B X +C Z +C Y +A Z +A X +A Z +C Z +A Z +B Y +C Z +A Z +A Z +B Y +C Y +A Z +A Z +C Z +C Z +C Y +A Z +C Y +B Y +A Y +C Z +A Z +A Z +C Z +C Z +C Z +C Z +A Z +A Z +C Y +A Z +C Z +C Z +C Z +C Z +A Z +A Y +C Y +A Z +C Y +A Z +A Z +A Z +C Z +A Z +C Z +A Z +C Z +C Z +A Z +C Z +C Z +C Y +B Z +C Z +C Y +A Z +B X +C Y +C Y +C Z +A Z +B Y +A Z +A X +B Y +A Z +A Z +B Y +B Z +A Z +A Z +C Z +A X +C Z +C Z +B Z +C Z +C Y +B Y +A Z +B Z +C Z +C Z +C Z +A Y +A X +C Y +A Z +B Z +A Z +B Z +C Z +A Y +C Z +C Y +A Z +C Y +C Z +C Y +B Y +B Y +C Z +A X +C Z +A Z +A Z +C Y +C Y +C Z +A Z +B Z +C Z +C Z +C Z +A Y +A Z +C Z +C Z +C Z +C Z +C Z +B Y +C Z +C Z +A Z +B Y +A Z +C Z +C Z +C Z +B Z +A Z +C Y +A Z +C Z +B Z +C Z +B Y +C Y +A X +C Z +A Z +C Y +C Z +C Z +C Y +A Z +C Z +B Z +A Z +C Z +A Z +A X +C Z +A Z +C Z +B X +C Z +C Z +C Z +C Z +A Z +A X +C Z +C Z +A Z +C Z +A Z +C Z +B Y +A Z +C Z +A Z +C Y +C Z +C Z +A Z +C Z +A Z +A Z +A Z +B Z +C Y +B X +C Y +C Z +C Z +A X +A Z +C Z +B Y +C Z +C Y +C Z +A Z +C Z +B Y +C Z +C Y +B Z +A Z +C Z +B Z +A Z +B Z +A Z +C Z +C Z +B Y +C Y +C Y +A Z +C Z +A Z +A Y +B Y +C X +A X +C Z +C Y +B Y +C Z +A Z +A Z +C Y +C Z +C Z +A Z +B Y +B Z +A Z +A Z +A Z +B Z +C Z +C Z +C Y +A X +C Z +A Z +C Z +B Z +B Y +C X +C Z +A X +A X +C Y +B Y +C Z +C Z +A Z +A Z +A Z +A Z +C Y +C Z +A Z +A Z +C Z +C Z +C Z +C Z +C Z +A Y +A Z +C Y +C Z +B Y +A Z +C Y +A Z +A Z +B Z +C X +B Y +C Z +A Z +C Y +C Z +B Y +A Z +C Y +C Z +B Y +C Y +C Z +A Z +A X +C Z +C Y +B Z +A Z +A Z +B Y +C Z +A Z +C Z +C Z +B Y +A Z +C Z +C Z +B Y +B Y +A Z +C Z +C Z +C Z +C Z +A Z +C Z +B Z +B Y +C Z +B Y +A Z +A Z +C Y +A Z +A X +B Z +C Y +C Z +C Z +C Z +C Y +C Z +C Z +C Y +A X +B X +B X +C Z +C Y +A Z +B Y +C Y +C Z +C Z +A Z +C Y +A Z +B Z +C Z +C Y +C Y +C Z +A Z +C Z +A Z +B Z +B Z +C Y +A Z +C Z +A Z +A Z +C Z +C Z +C Z +C Z +C Z +C Z +A Z +A Z +A Z +B Y +B Z +B Y +C Y +A Z +C Z +C Y +A Z +C Z +A Z +A X +B Z +A Z +C Z +C Z +C Z +A Z +C Y +B Y +C Y +A Z +C Y +B Z +B Y +B Y +C Z +C Z +A Z diff --git a/02/solution.cpp b/02/solution.cpp new file mode 100644 index 0000000..87e1b07 --- /dev/null +++ b/02/solution.cpp @@ -0,0 +1,99 @@ +#include +#include +using namespace std; + +// A:X Rock | 1 +// B:Y Paper | 2 +// C:Z Scissors | 3 +// Loss: 0 | Draw: 3 | Win: 6 + +// X: Loose | Y: Draw | Z: Win + +class Play +{ +public: + int value; + int beats; + char looses; + + Play(){}; + Play(char playType) + { + if (playType == 'A' || playType == 'X') + { + value = 1; + beats = 3; + looses = 'B'; + } + else if (playType == 'B' || playType == 'Y') + { + value = 2; + beats = 1; + looses = 'C'; + } + else + { + value = 3; + beats = 2; + looses = 'A'; + } + } + + int compete(Play* other) + { + int score {this->value}; + if (this->beats == other->value) + return score + 6; + else if (score == other->value) + return score + 3; + else + return score; + } + +}; + +char toPlayType(int value) +{ + switch (value) + { + case 1: + return 'A'; + case 2: + return 'B'; + case 3: + return 'C'; + } +} + +int main() +{ + ifstream inputFile("input.txt"); + string game; + int totalScore {0}; + + while (getline(inputFile, game)) + { + // Split this text of the game + cout << '\n' << game[2] << " " << game[0] << endl; + Play them {Play(game[0])}; + Play me; + switch (game[2]) + { + case 'X': + me = Play(toPlayType(them.beats)); + break; + case 'Y': + me = Play(toPlayType(them.value)); + break; + case 'Z': + me = Play(them.looses); + break; + } + + int score = me.compete(&them); + cout << me.value << " vs " << them.value << "\t| " << score << endl; + totalScore += score; + } + + cout << '\n' << totalScore << endl; +} \ No newline at end of file diff --git a/02/test_input.txt b/02/test_input.txt new file mode 100644 index 0000000..25097e8 --- /dev/null +++ b/02/test_input.txt @@ -0,0 +1,3 @@ +A Y +B X +C Z \ No newline at end of file diff --git a/03/answer b/03/answer new file mode 100755 index 0000000000000000000000000000000000000000..86fc30248771363f0b67b08a68b54366604900c1 GIT binary patch literal 75864 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%0DUArEjO;9S5k;1z)MhKDx5O@Q|U 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 literal 0 HcmV?d00001 diff --git a/03/input.txt b/03/input.txt new file mode 100644 index 0000000..09ed9e4 --- /dev/null +++ b/03/input.txt @@ -0,0 +1,300 @@ +gvNbShZZgQfWdQhdPQmggLTFLwmwjFqjVVgM +CsJnHllcsnnnnJrGRnRwPPLVmFLHLBjFFVHmPT +JlnCtctJnJDcJlDCRpPrSSQWfphzWZfbZSvfNfbS +WjvRSdSQjvpjWzNlnZlNZqCCMzZZ +nJtJsbctPBPwLNcDZNNGLClC +tsFJHBgJwgJbnvSHHWVWHhVhpQ +zRzPhCCSHVZzfGHZ +qBsWBpqBwBcvqqWgdfZrprdggPHHVZ +WWmvwvBbnWmnwvWcbmWWnqNCRSDRRSSjjSDbPJbRjClLhC +rQrznfHHhrHzllzlzTGcJgtJ +jhhjjSZVPWVZvSFtTttLTglgFtvm +dqSCqVWdbDSSVqbVVSqhNdrnpnCnfsnnwfnsRpMpBMrf +rTnvrSSHvHtnDQVDtfmW +ZjCglhcCJschpZbZgbtGmRtbGmwtQtbmtN +FFZCghFJhlslFpjcdFTPLHHmrqTMTdzBLHLH +WzDfrDwwDCCDMnfDHHJjTHTtNdngdHtQ +FmScGPPPPmpspchbGHtRsjdJJJWJWNttgH +bvhFlVhPchPvqWLwqLWqvq +RcchVlCCvmhDRjNJJJjbjllZlJ +wPwFGFMPfpdtqbpwFFfGPQZTWTZjtzQWTBBQJzZjZZ +fbwPqqMPwdgvmDVDhmRCgR +SSQggtQVQQgQGmGVthVnWDGjCBLLzdDNCCjDGWCW +RcHcHbFqbPMZRFTvHFFFlcZZBNBtNjjLLjDdjLjDqWCpNLpj +sPPclZcsZtMPfVsnnwwVJhmQ +jlrwpVPjMwfzZfhfwddH +DbQBGgBJPPBBHfPZ +ggGSQTnTgQGbSRQRPrNlsjVjMrpmMLnrrW +MzNNbMSrZNSSvGWWznwGQlTG +ZCFCJHqJFjqTTqngPwPG +LCJLJCCFtfjsJCMbZSMSbbcDdBfd +LCdjljfJJBfLDCCdJqGqsGGtmBsWtbGmSS +gpgchRcPgRRQNZcpNhgNPzzmGrmrGwtSSswqrSGbbTzt +QgQvNppRPQcggZNccchvNZgCjlnsDLDflDdfjLfMDVsMLv +jfSfTWfwTJffQQNwTCHnGGGgHbgqGFvF +LmspctdsLDlBLPmFFgqbqFFbqlnSRS +PSZZsctsDDtdBmzBLBSmpJjMzWwjVfwJVMrNfwrfzf +zFZqbRNRHNHhqHFqzNnzzqDQVFMggMgDpmJMTgpVTQFJ +SwLVsSWBfStDGMfDTDGGGT +vlCBVsSvCRrHRjCqrn +ndGVddlVdrcGlGcljdVGjCgfffPCCLfCMvqWvPnqgn +FNtRZBDDSNSNStDhFRNQtLgCMTCBqvLMMTfJqBLPLP +bwQwZhSDFhZbFSNccwzwHmHHjHMwsd +BrSDgqrgWzWDwJBzMDWBLjpmVLFfFPLVJjVVPLFV +cNnRlvNRvQTcnZwmfQGPmfVFPP +dsCNllvTdnntTlTsHcdCRtNRBDWBDWDrWBhDBqMBDqbzWwCr +stLcchcTwRcsVTtftVVthchqmmCCFvWmmgSgQFCwGvWSFCrr +PljDbZbzjllHdQNWHMFGrMMHMFrmmM +njjjzbPdqRcRQQns +BTBLwzmqWNbpzqNzLppLBnhZJcJSHThhnnJZHHSQnr +RfQgDjgsjVfRFDdvddtvhhhJCnrSnMZCcMSCSJ +QRtjtRQQlzlqqzzzBW +FnzllplJMntnzptLFzsjTVSQcSjSjQFFmdQQ +wgwrBrwGHPGBqHrDcpmjddSQTmTGVmmG +DBhhNBrCrMvNvzptpN +LgSbLLRJQSzLCgJRJhWCCzRBdZdcMfcHsMdFFjfPjsCHBc +nrVTnmrrrlnGGmrlVwVZPFHmdsZHBmjMcdjfcZ +wrnTlNpvVVrqFrtnwGqwwrTpSgSQQLbQRzQSQRJbQpDbQz +pgvmcpVcpwJppwgwvMWfHbRGRHDBJbWGfGGb +hQqFqQNhqdCPNhTQCCFbbjmBHBbBRjGHBDBGFj +TtdCCNlPCmssnqgvzzvvtVrgzzrc +JltddTSgtLLvgvdldgvWPZPPSjWMjCfWNjNWPG +FrwpbwhbmfjGRpGPNM +cmBrBcBnmFBQqcFbscBhQfttznJgzlLLDlnglzLLlg +mDhRsDzWZzGhhhWpZwzwGdfbFsfFTQTLcNFfFrNvvcbT +ngMHjjgVgqHnPlnqtnClMHbfCJFbcLFFJFLbrQNbFQcQ +SlqHqVVqPnBHSHHljlMndBdZQphRhdGpzWmWWwBh +hVNhcfbSSNMfjjMlqRCqpdzpRJdnhl +sBHPPwQwttBBssLCHzDBlDDmRmpJdqJJJd +sHHwtsHTWwtZPHtZbbVSgMbGCNjNvN +SgMtSMVChFBHBFdCwhdqPcPsbRVQqsblDbRmlc +jlrLWfvWvzWWzmcQcqcNbmNDjR +JpLznrnfGrrfnWWzTpfvzvdHHCgSBwdlTMhCTMFhBBwg +fptnFPLsttddDdRhQShQzC +BqGHGlqmmGmlJmNmqlbbCzSCQHDzSjHhfSShjfVh +fbrrMqGGBlNMGNqrqglmrLZwFcwgFwsPcscctpWLgn +TCMMTtWBqCMMMWWMSWhNFhlNBNlNHwNDsvhw +frfdrbZJrVLdZLbnJcrmvhlhHshlgsZsHwwghZ +fLRVvcvRVpfbcfVVJTqpWCCSqCCTTtjjPj +vRCGzdTtvdBCTzCdmVsQjnVttngthgnQHs +rLNZlrwrjrFLMsggsQpsQngqMq +NfjZWcbffDrLZfNLbDczvmcTvvGCmCBBmSdP +DSqdzrHgJtSHMgvmnNGdcmCnvssN +ZwQLlVlRVVWZFZhbJZVjRJscvBGcpssLpBcnGpBsmpBs +TwwjjQJTjlhwMfTDgMrfgtqg +HhvVhgddvdvqTqVqHQgjgmCPWGrcWsGWPcvlsWrWmC +lbJBBFbMlJFRCmsRmRPtCtwm +FMLLpDLnFpFJbDfLnZZSzhqHVdVQjgSdlQTZ +mvBrszzsrrrGsBDvBvszDRQDhjCwWdLhJdCjjWZdqqdZdW +gMlfFVccTGMGPMSCdcLLdqhjLJWWdZ +VfggggPVltVSlSlHfgFtTpfRGmRrrrvQpQsrGmnvnQbzmz +HjtMgWbHBtbtcggVcHwMwcdzpZFGzGZFpvFFZZWnnpFG +RNNrfmSrSSzdGBzFfJFq +mNsSrrTPPRshmsBClRClPmSccVgQVHjHwtHwTMbTVwMHgg +pZmmLpQLDJBCPCssJTsCTc +SwlLwWvSwNSSSMSMfWLvvVdPFzjfTscdjcCsjzCPddFc +vbVMqGbLSVMhDQnRRQnBqH +lNmNwlmlbhhfFNgpJLnHfTHfTdnTML +BGvCwVGVPSDWDMMJTHZMpndH +rVcBrPSPCwWqPwGCBCSrqlNNQFhsQhtlhhhgNQtb +HqZCQRQgWjpmZHRHqQjttGGJQNQtwQGGGbGrJz +SlddfFVMLncbJJMzMzzMwD +ndSznsdVHsqgpZvH +sNStMtNtDztrvrRGPRRRRrNzqcchgJJLqnBScBcJThJggJBT +QCWWZbCbCVjVbFVFbVwbnhqLqhghBLwwTqJJcpgTBL +ZlHjfHHFWFjCdbHlQFnfdnZFMzPzrrlMrtrrGRMsDPrGvGPz +NnDHhNNldhNTdHllpptCRtftzmGBGmVRVGRH +wgZgZJLBwqgLSWrBvZVVzmffWzRmGsGmmssm +bgqPBBLbPbrrZBjjlpjccjDdDchFTNlc +WRWNNRWNfLZtsmtSWrtLmWgTcMcPrpMTcVMMPPBBqjcg +QJJDFbpnpJdlcwcgBTqlgPwc +GJFHJGhHnpWWShpsRS +DHDZvDQWdHJMHlJf +RhhnGLnBtGrnLjwwJTTMTdQccllSMQ +rmFrrBGQLQFLjbFnBhQLhrRGCPVDWzgmpsWvWWDzppWpzCvC +bsrJrWgWJvQRqbbRDNGGZDlwNfNfwS +ttCHThhhcBVpTBcdhdpfNGDSQLwDLfDGfQllCG +jFjzcFhzQTTjHFvJsrPPnnFgPb +SZggDgNLGCQzSgRsljscPvPPbHsBNc +TtFfTpMthzhFFTpdMMJPfjPPWjBbHbjPlPPBjj +dpdttMMTJttzMFhqFwGLgGRSrrQGSZrwRrDQ +JsJntWmghjgJTpfgFCczlztzrDZDtDzC +QddBBdBSPPPHBSVHVHvNdPVRClvlcclCDLCLFRFrrDLcZc +NVwBVSNlSBNHngnngsJWhwWh +hQVWJGWJlJQDGJHQWHpVWJVHmfPGPcjfdLdLSrcCmfjPjCPm +wgwnRwMvNvBvFZMngNvFZCjdSSfcbPLjCbcdCbSf +wgnRvMMvjMsTwngTgnnDVDWJDplHWhlhQWlWDT +WGswWFGsBFwHvjnbnnJjbG +gLDrSrPpLfmmDqqbbJZsjvmvRv +DTldTpTsDLgSsLpfPTslVdVVdNWVzcNwtWdWhzVt +sttWrhWZsLVtJVZrWhgbCPQQbDNVCHglnnlN +vvRRRMqpmTjwFqmfjFjmBMwNbCwQNgHgDnbNnHQHQCDg +THpvmBGfzWGzSzzS +nmZwwfPmNggwgPgNmdvPPhTRHTHBJTsvSP +WDccMzVQzGWcrllLdsGTvTsJJBLTdL +pWtzQrzDlrCpcQztlzCCCpCVFFFwtgmfbjmbqwZjZfmFwfdw +bmMNNMVSRWBWCSmVRdMRmMnvZZscvvszGcnZClpcGsvZ +gfLfDDtDgjgDtWTjFQjHsvvpZqqplfvvcllcnnvG +TFPjDtWPNPwBBBNB +QcTCHcTwdpQgcWzWwvMPRzSGwW +sDNjfhVmnlVffmLNfLbMPPDbqGtMSRWtDMtP +fZjJJshhhLNnrCJScHSccTQQ +qfhBhLLjvMqWWBWjsQGrdrGzpszpGrqd +JTSDHFtlTDbHTcFcDbTHzmrNRdRRbNzrmRRnRpnQ +PHcltTgJDlplgptScCfCgWMVfvfZvhMMBV +rttDPglHZZDDDPHgZtgWBswdsTfpfdplLqfsFfFdfd +cRVvpcmpmRSCGGCcMQmQFqNNqdVdqTbLwNbdFfFs +zhGjRhSvcMtnrpZjHZBg +STNrrzVdTJwsBggwFgBN +WbtMWJJpwpDsLBfP +cbvncCCmWtCGMcZHVVSlJVQrzvzVqQ +MtPVBHVbBBTwbvWgRgvF +LhZjZpnnMRwWfhSh +LQcQCLCCCcnmnqZpcrpnrjQlsBMHddtMGGzrJHPPsHsNPPJz +NbZtmZDmNNDBHBhDNtNGcvpmgLmmFrvprgrFGv +djMjffMdqnVVTdMfTPnQSFScFFVSLLFrvccvcllL +PPdPwMQwTMWDwBDZLHZN +DqpJFdhtmdSwpqSncljHsnfjqlbzlc +rQVZLGMWPCNrCGMwNVMcbzsVgfHHgfncfscssH +NBCrPLwMTrrMBLQLwCFhpFBDFdFFtdvDFvpD +QRwGBdGwqRTBMWRMMzBqQHHhngspPFFbHbzgbhZLLP +rCNmDjvrCFpvLZsgPb +lDrmpcfCtVDtCjlfNfQQqVdJBQWRVVRMMMJQ +zcgjlRcJCFtlnTvppn +BLSHDMVPVPHVHwFwMhTvgnFZMh +DsLSDdmPVNVdGgrzCCdbjc +tjjRbNQtvJVVsvqsvdTsGqBp +wlFLPZPzzzrzwZPmZfZPlrmpLDCpWDWCSTCpppDDBssdWG +rwwcFFghFmgTcNRJNnnNJtHV +RLhbzMhccqLzdjghdFddNWPN +DmsTZfvrfJLPPWwrdFgw +LsmDtQDfLLGbGQbSzcpM +qwhmmHlHmlwChcCWlpPCBzjPVdBzLsdLBVsT +DnJDMqRDsPsjRVQR +tSGSnNNSbrJJGfDSSfbchpvptFwmpcvlHqZlcF +rdQdBRPrQBBnfdBbzLLgLgmbzSLCPW +TcRTcFDTcjvswMWzzgLSzwwSLJbL +MNTRMNGTsFMMqqqcMDTTnfpBhQhNpHZBZHBfrptQ +ZZFwcQGwRGLTGLTl +rJtMrqBVvhBCnlCn +WWWMttbqqzfPWqWJVzmDQwFQlwZwjQfjgFcZ +RhgmdBbLLmRvhGZwhZZJDwGq +ldPpTtTPtVPpfTGzJQFGFqJsFG +MPpCnrlCVfPtrPVtntllnbdHSbnBvvgdgHgnWvSv +nbnfjQbQZBqBvjQdVFGHhsQhsFsFzGpD +RSJSTTcCVTTMlSNcSTRRwTccpwDFDDzFhHhtwppssFGGpsDp +clcTNJlLMgrcgRvBjfWVfWfBrrZn +LHQdpQLQDRcDBQccVQpnNRhllzMtRqzRztTNnt +mrvZPZvZvZbPSFJrSrggFvrJzbhlzttTlNtqtsMtTntntdqq +GPfJPJwfZFrmFvrPmgHHQLQWdHQBwWWCHVVC +TvTTLfflhZmwZLvtJmhdFhMpnWrpnbJcWMnpHzMrzbcn +VqRRNGCBjRmqPGqDzbHMcMccWnzngHnP +jNqNBjsDsDRCNVsmBRNQNRSSSddhZvLhddZhvhwvLTZwhSfT +vjpJvpgpNwjDWvvJLhFLLhNRTmPTRPRF +HHbHVrMHMmqzHlGmtGqMtdLCLQthQQPCSPTSFLLPRT +bZZzbHszMrqzGmrHMBzbHbqJjffcDgwWjDJpnjjcscwgnw +fBHDMNhhHMrBDBrfQqfwwvvLvfjLZZ +lmppmGJgPPpddJVdnwsQjLttqtjZTpcsvT +RndRmlGWJgdRnWQJQgWdQPlFFbhhbFbHbHMhhBbRDRFrrS +tVhwlMdMWlhlZMZMlzWrtRpBNpLPpmnmCPQBLppPPPBz +GvGTsgjcTLRQHmTQ +gGRGbfbgbcSbbcRggvfcwlZVhVMfltddVtrlZdhW +PwjPHwWssqrHqCqprpCPjwrrQnnDbdnQnGQHnbZbGQZbBQdD +WvNtLhfLndnBNbJJ +fvhvvWfTmtzTmjpsVVqsPzMjjq +GjHMMTMfZbnqHnJNCN +rlpQpthdlQbnlJqRzqVL +spphwcpBvcvdvFTqPDFfwwPZTG +mQfqmtpfBHJCHdlMDB +cbbPPsZqjqcSvVsCrDllsrdzrzzD +TSbVTvShqnVjPTPbggSPbNFQWGtfNLtFfWgGmGgGWR +HJtwgJJwJrcjRRjRnwhVdrVbmGhPmNNrGhdV +fWFvTDssTDMCBCWsvszWWMCQhZhLLNvNNbhVGGZdRZRdmhmd +zCTBzWzDDCDCfFCRqCJHcJJctjJSgHpqHqJg +dgnwgbcwVGbgDWnQbjdgDnBRBBNNqRLBNMLFRMRlqNsc +fTZHmTmzJMmSSCZChZvZTHRlBNBFqtqftlqssqNqftts +JTHJvhzCHpmPCSSTzPpPzJHgQVdQQjQdQwjgdpgdDMGgQM +qPGmWLJWBRRdvqvvNq +TnZHsTZsZsZZbDtbrNrdnDft +SShhQQZCHQCSTVlllVVQCjQWNJGFWpWgFpmmVmNgLgFpGw +TsSmttWMVstNfbMfBcpnFchFwFwZNrrwFp +DWWCGlHWdhddwpcrjh +gQvPqglRCHCHCPCPCJbbtSVVWtTVVJvTbs +ddHSZQHDStZStLtsdDpbCbBPcjGGCqCMBGdNPb +hWhvmglVznzglgzvzfznwfnfscswPjbMBMjNGBMPGMcjcPwP +sJWsJfVflWsnhrltrZLFDDRRFTSSLT +qqCqLNjnPPLZPjqnDjLNgnNrcGwtgddGrhprBJhhJtBGJG +lTMDsDHmlRRbQQbVfMHFmMBJhwcTddrcpBBGdGGJcJdB +lHFfQFssFFFMQRVWQVlssLnDSLLPvZZPqWCLWSqjvS +pJPZRpQtpPQpGPqWbqlWTdLVLJbT +nnnjCwgrgcCFBfnggBCsMTVbVsWVWdCTTdbb +cfhcnwnrcggrncrwcjBDcGHmNPRRGRZZQRRdDZzmzH +NqTrrzLpTNdLLJBBcBGGZGpFHB +sWbgfHSfSgVgZcmGtStZwBFG +VjQjjPjhbbfsCbbDQCgsDrRhzMdlNzHTRdRhqdNTrq +GlqfPdvdBqPgfqDgFMsMVDppbsNJNpMs +WnmmWCTCjZnmzRjTZRRnFBMNpbZZpFJMSFSNFSbS +TRRrnLBmzjttRRCmTRjjwLlvdhQvdrhqqlGdPqGggPlQ +McjMPgPgGPHJWjhPNgPqQbpQSfqffnWVnnnpnZ +BwwDmBTLRBBLzBTBTvtVqlfpqfbQqpqZbnQFlt +rDsDBsmvRTBRzCTZsTmCsCrLPgNcPHNhPccNHHrjMNrgdNdP +GqmLFDrcglvQGZwwzj +nlHbSNBhhslJfsBfvdZHdCvRzdCzppzR +JWShMfWMMthSJBBthJsgtcTTcFqcTrmTLrrTlr +CsBsShBWsBWhvFJWCSsJpbTZdTbdBRgHffRlHHHBgH +tqmnwwwDmVwfzZblzTRqzQ +DGtDjGMcntMGnnGhhjJJJsCpFRRSJJ +GQVVcGgFGcSFvfcFfJVnQmdbTwMLwTTnbnQMws +ZqZrDWDtNPPHRNPzGCdndLLMLwMWhwbmLddn +DRqRHCHlCtDrqtNqDplfpvGFjVjvBSFFcj +zfSfdGPdMVHHdcMThhpwqqrwrqJhcF +vlDNTWDDWWnngNQZtgwLrJZqLFZLFJpFJjJJ +NCtWmnvBmDnWQVTmTGSRmmRTPz +LLvppVLDsppGMGCLCCwNmJMNrNHrNmNNmHFjrh +lZZfvfgRPZQWNNmlWlFNHl +nnRtndRbcPttvTpswLTs +trtzWfszNPlhPlgrWglhZjSLDBvTfSDTmSvmLvfS +QMdVVGBQMTJDvSjdHJ +nBppGVVnQQgzgPsPzzhp +fVQzVrQVtVzHwjtMTjcTCjFgcDCGCd +JslDPWLbLbZlJBMgBTBPdcFTFd +JNJmZsDLnLDWmsVqSrHqnHqQwQSq +mLMZRMRmZLmHLLjNshrrJjRsNNsj +PnqnBVBPcpWrWfWzDhDsHW +qpBQgcQncqpBcVgtclHqcSMTLZZQvLLZdLdwCmLMSd +PZgMwZMjPgBCWgZFgmBGSTtwcccztTzbnGDcNT +vJLlvvlfdsVVslVHrrpLfRlDcSScmbSnnRGDnbDTSbSSDt +fvVHdLfLQljmmqqMQPhQ +DZRstNGrDWGRMlzLHLMpNSpp +bPgCrCvgnrCPgwplbMSjfHzHfj +CgnFnBVrFFVmdVggmPPVTTcZBGhRqGtcZqqJhGRGssWs +WrrCGrDlWhBBZtHB +ggdcnQpcPRSpzfvJBTfPJvtP +gSNnSBFnSMBNjpMssDmCrrGmCLqq +szZGZGGwNdVtpwvbzptzVBQQLFclTJQFlHJNcFBRRJ +CTrqSfWThWDjJCcLQRRRFLlQ +rggqfMqPWnDqnVbZvTtPZpssVw +GJHqPPcJnhthNHnL +rzzlVDVTQDzSSdsSlzpBspssLhmZNjhZWjjffWBLZhgBmnjt +TSTQTsnTbDsMvCGwcFvbJR +PPjtzdnCnSjSthPjWJgJWjgMNBsNrT +bZHfLLhvhpbfvLhHfQbqpNJTWWNsqNTrTNrgWN +ZFbZZFvlRvZwhQwLDSdGnmCGmnlmdznD +RFRRhzzsRsszRlhbrhgBcbTfHgBT +pJtNmSgwZNtSJLgSqHcbBDDTHPfrSqTc +ZNWdpNCJtLZpQJLLpmLtZNFGjVgFnsngRGllVsjjCnvs +sJVRJmmmwwlmzcszMzjRjJVzspCZBsZTTFpTTZvSZTFBFbtZ +GhNDgNWnGGqDvFSCZvbtFpvg +fWrCNNffGnhWdrPhWjwjzRlJmcjRcPzlmV +FdncmqmgcZztLWFvFFvjWLlT +RsMMJVpfhJVsDVMfJpvlTWTvhjQSQvCbLCSC +jDBjRrsVfNJgzdZrZwtmZt +THDDQLZTGQQLQDSSTBCZSZHfFrvvlVRRlPVFfVrvqnvnnH +VbWWcgbNpjgPrRvrNfqnzv +swggwpJWwsWscJsDSLTJTmSVZJTBDZ +wGsznPGGBHdzHhtHDD +WMVSWqVmrSBMpvWVMFtdClhDtqDDHhdtQt +RgWVRcmgnPPnjJBg +BmfPBHBFswLLjQQnLCnzzW +SRdvvRSGrdlRSvTgRrMVCjVWCZzMnVZhWzTj +vlSRJrRJvbGGrSSJgWvlScptFmwbmfHHBfsNFmBbfsFm diff --git a/03/solution.cpp b/03/solution.cpp new file mode 100644 index 0000000..530de75 --- /dev/null +++ b/03/solution.cpp @@ -0,0 +1,119 @@ +#include +#include +#include +#include +using namespace std; + +int intoPriority(char ch) +{ + int initalP = ch; + if (initalP < 97) + { + initalP -= 38; + } else {initalP -= 96;} + return initalP; +} + +class CharCount +{ + char key; + int count; +}; + + +class CharCounter +{ + vector cc; + +public: + int insert(char ch) + { + // This is terrible, DO NOT COMMIT + for (int i {0}; i < 26; i++) + { + CharCount charCount = this.cc[i]; + } + } +}; + + + +class RuckSack +{ +public: + vector aCompartment; + vector bCompartment; + int priority; + + RuckSack(string fullSack) + { + set seen; + int half = fullSack.size()/2; + for (int i {0}; iaCompartment.begin(), this->aCompartment.end()); + return s; + } + string bString() + { + string s(this->bCompartment.begin(), this->bCompartment.end()); + return s; + } +}; + +int main() +{ + string inputStr; + ifstream inputFile("input.txt"); + vector bags; + int totalPrioritySum {0}; + int groupPrioritySum {0}; + + + + set groupBTree; + int i {0}; + while (getline(inputFile, inputStr)) + { + i++; + if (i % 3 == 0) + set groupBTree; + + for (char c : inputStr) + { + + } + RuckSack curRuckSack {RuckSack(inputStr)}; + cout << curRuckSack.aString() << "\t\t\t" << curRuckSack.bString() << endl; + + totalPrioritySum += curRuckSack.priority; + bags.push_back(curRuckSack); + } + + for (RuckSack rs: bags) + { + cout << rs.priority << endl; + } + cout << totalPrioritySum << endl; + + +} \ No newline at end of file diff --git a/03/test b/03/test new file mode 100755 index 0000000000000000000000000000000000000000..6b87e597a4bc6e4d1655d7d2e26f172a2682f8f4 GIT binary patch literal 34224 zcmeHQ4RlmjoxhV0ptU7|eu&g9Lj>eQ(##Mbw9-xp6JAPyG=WNy@|aA9Wb9-noq0nO zEJ_>bc8c`GerxMmKepez+M z$J}fdn*>T3{(PK6P@E|^Tp}0>PLXn@fTTBrPB`@C!1r^EF$Gl#36fqm`Q)j9TBSf0 zWD+O6a$>pZfaLaZpy1;31*)J`kLOn-_^d|iNq7-A%9w&yJ@U=)N})HrPUtE4epzpy zs*Efrxr_8hrQWF2Q;y`2fu7(Xt3Q``F z+Fmj`3dyfU>fI{+d8_oJf~SOerl892I_QyK{;x^8leNnHoZ4Z&^rwO@nZXs2aQm{_ zDBjISWcX4msvc=14s}r$mFPETlQ5C59*R0>fO7^fpqA7hBbLHSA5{C#+BzrOb z$nB(m>*%kq+*|&_*B;#Z(7(S@+WBPVn%1w84Ap~dk_;u1S6x8im*IqDxPM%gY__Y0 z7lY_DerCUY=DgZ_R_?v{p$i&%n{GO|!2fJB$a&Lt7@wYp)9pZ?1_$Jm|GI;G11gYD zezybt1~?&~{9K28r#r~shdSl6bKF6GhJ*cA;n{q4b~@OZ;~+oF!9UdA`Rs3VpdWYe z+ba(CXF8Op#G$^^9qf!d(5d6O@n=uZf{?FX9$B94ZeNZ{1oSF4m7SO`=&wlb6!>`> zo5|R9f?i1(BE2o`^vw2gTpgZ~^piF^)Ai2oSX56Kfw-aTOy9D;%~-DM!QNhv$K!1e zB*H;3RT@rD;9;5l0l;hj`jO@Zq(cA z^ftp=vm+M2B@pk>!$v3`Fk)z#K&PmFT{xD|;owkhQ#5SIqOWhG8nraGw#C|XKec^t zuig`iCt}e+1l87e)|jk?JJbFbbCY7ulr=Gi+8kp$_CwgLu zkm}aKSke%^r+^t?ogRq=0}(L@#W?Y-&~>9L9=ipsPRt{rcsv$I4=ykduU;QP9(q@} zBNRvTwFJ>ImK4}AmbQmF!%?dFrsyr zAkC58fpC-oPZ%A+MT_W8Xc?j1=2>SDqJ(*f9u)L74GsE|>KeADxoK5{?yX)@Yo27ME(g1mV%q-(3a9xF<7c?s@(%J4`3N^sXD&dNBQctoYY5;mEixj5#+ z`6T?&{gI2c;2KBQS2zAz=JmaYLADDtN+h{W^69?ryPtjlw^QY;N79lr!{^Z*_Qy^6 zQnp<3NdITwx(V1M_VUC=z*dKiXJF>py+|3 z2Z|mjdf>0w1OHQT`R}#=88nnHG*uC!CgSGCttczMkJSrGBzaOFggkzc|{m(eD}b{74%bI$ee4yyWy^#?I`h zu9&qKDvXi*u`D`pXbcNJ+DbYa7abxA>LTYIA;S2`j)7x4vcl9q4s-e2UgID&sy+4E zHQG~SrJC!6_LDyv(@YDKr3Je_<-ccT5_Mq7i#BPgm(si7^b_SlP+T`2n~)#LpT3I( zQ)74fU#&Roe>LSl+rRtl_D@dg?>;;4bQzA@_xsP@c#MSVH`Q-!({6ipj4E=#{{t;G zl>Q9dq#fAw1KnH?eqNV&Nwf*>m&@ZSQDgUs-PYL|#OgZw=_HP=7&M4JE*jy=W3W|RaT7zWe zAdyr1Hj{BlY7nFrkTTR&V286IP0wU24zfG_N8tV=sS`)&;cWVOC>*A7Nd}+g+D8Rn zOZ_}u1|ON+f8pF?oI8}h0>u-)_!XI;C&Of76$xcCO>l?bPvtSG+)cB<*gIIU@1uev zsy39q_YV;4_Yb>Kp<(SR|I-!we#6_6H-pxH%m*{vw=0erQ?>rnZfcDip>_J@0kC?= z9E!1)?C|CqN?(I>-lH=^yq?EYk2y#}sbP{|BWA9C|1v&sh}yq- z!HD+MNO|*tIi*c2P8n0t`0nP^E9qbU9@+npqcAA-@8I(53VDRo@- zB&RBTmTbH{(42a~Qj2{cs#^5XxhU)>sNA<5r_u4z`mOahia~?xLuG3B*;H~2<|2i54po6dxUD4{uX>FOmeSft!t^> zW9b*c-8%^1@Ar?9=V(qneWAj>^gGic%7ez)oz{l@R8n@j91T0>I^lnddU%>^xQ?QF zZ}Bnp^K>tA?;myT9ZWt)Oi?bX73Hfks1g|r&@|BoW*wMl!6b&&rl+<2H`0*eE!qb` zE%g-8r?u2kE%jsSDBmSw|L&74dHxX%zDPF^K@Q4GsPF9GbW(G{m>&hCLaw7R3xiM} zN?(N%o}Ni0okI;t5ibDiz}p( zqa;#skR(SjU(_9~xNmTx0K78_a|5}(gJ-gzUwkUmIZAi{JyG^EG?@<>!DXt+sM%;% z2DBq$e-qApqgiMe*I0bxUHe| z>zJx0w7+kP#d}%rtA0%mKOlw@-Cpo=a^Lcz(H)N*2xuz4QMBL$oI~p_G zJF(}k13IqDO0OCQq#vta{_pYe_v3b>0MOj{vp;ejl(O@D$+PfM)^K9uC*8R_5xhbX|7A z*Zm)xsrnszBwoB7k2%Gd|Au!_-f$yrZPy!by$DQ1U+o_yG7`K&JTJS^hUbK8(EQ zTKU_vd?LGcwKVgZOfID@wxy~*^TDICehKe3t z@Ml}~w`TQy;J*w$jSaJWn*`qt(nH991pI|KFRQTlA(XYTSK4?5GNz4^=eYpY@yp;p zj`1_y%3qh&KMww*;Pd@a%7;x^{)^z>4Zg>!AIb8|&>ubzzEi)P1O8p$^Lc^=q6dl|D0-mifuaYB9{Ahyz+jb+7kb+~ z0S6?mZg1$_1xgBUwBhuwgq2V4Mo_vy0H)rXR(tB*3w@lU-dRxZIjeUG=r;}}em@JC zUgsm!e7~E1t5AC5kK-|dgQY$KcmqSEu}MCDqTVSOlYI4Vz&E9!dM99p)Z_Pt@|*x} z8AWRGafn-3p6-+<>UW!ZM?vkCAH2}VZ=;0QOSnVAof6(5;R6yrCgDK|Pe}NjgfC0@ri7Db zi+nDXaGr$ABy5!MdI@((xKqMABz!=^$0R%`;Ry+!laQ*3capAj&&M0p3)~)WwYS>i z_SSg4HFcg9?)j~u4!0ICBxA96frB*O5%o-vu3f<2<>7rD18YtF9M_V7$NZMUq$*KY z>N9qkOC(Rhd@^dxT`GN-PezTy`3s%%a?893hcc_OE|z7cF`VO{ z9uFD^zjtLDD(HqBPr}#b@nkfL_jTQP5zXGP%q>M}!b7{12cpqfdpN3OJ*pEd^VTsn zhbh^fND{Bixub#Z(3NhfNaoaBBjgsY+3*n-DKC-l;gbN*Yhg(#PAdqf#A%E0N?q_K zJs1fjy727?!BO(T9ePhZW`u$UR?nzIsX12KYuwPfv8nL}#y1z3@AwG2{53ngL|5O| z=7-dV^=+`N=1i$SnaZQ)RY99g&C6`IV%=dw-w{Wx^`2NbiZ^X1+L}ab2Yii#4Dd3{ z7InjWqLFZCl*q;QEVd_&x#IX-R2-jTZZ6KZm=}xlEnOXu#C5WG{VZNTi}ynq4#oT1 z;{C0g=0!?;PAL9fDgIt5{{Aff{-m{w;(9`HJ)yXsP+U)-x!`YWJwdI1E9mAoIN5ug z;`&grJ>}YcaeWBG;xD~ER9WRiu8gT?P;QRlAb*1t$LC+?_@w7U^t_Bd)!K)WZ+4*Lu^G2x zm*3|=f6Re?)PerI1N{#UblTVKf+rp+^^pW~^CP}tOb*IZU#|nbQPS=8+TuWuJJ9z# z(7);0wFTwY&-Bmv28V(Yy#h>0<$ERQ zyk7GJo$uua|6`J__9v-*I{QJ-Xa7FXUHF3daILTd6K2XM|3%2tlW7%KKneddw{t18 z?|V7S>DaX+_XR2WXF#X#kUze_$4T_Oo6#-3qU%uNM=-&f9UwKM#^Fs6|WH}pUz8?ZTpMAdr{eB1f zZ;4)l%x(R74D@Lw?_>0x5^E~M%P#ryZFHc22K0RK2)+e6)oZ%!w-3uq-jMXc1tMRd zJYA1=q4~i+53Im-suJ`03^}h#aTbI;*&mm7&`dmihufJsVV*g{+g)jA;S18v8?u~N zNmdJ{9O_@~OU~s-#=ax%*!}Q3X-A5gpaLB%pa17M z(64cz-vc_8{}Zxbc~yBpcbmCoPmW6YLFotnUKrT#MPbN}eI7didcJc0TGA)Pn+V1Y zPj!q{%l%_|pgpYPWynx_-AujXHo&r@YyT=|K4as)+hFvY@%+hFyIz;it!Xt_1c%H^Zy@q$HRq6cIS6KZEs za^Tr&ZBfW|2hz6pMji$M0}>$>5D+1O z-Hp1@jUAb>Xefce2OTlJGZJg3xDE&}lF$RmUKWgX_e4TQr~~l~@=EAC(Aat)9uM@P z+(x{QiS3ge$?onxs8}$ax zwMO)s0OB`vK#xMC5MC2T)Rr~P8&=gfLnYa+H|hEoj~AOaV=eJ;ERIkoL8?5>7BLj4 zv9*4kU-z$HO%ZT(?1k0W0F@yda-eqyPE!M3Eg27NCVGAJ>qF6diZ`uHlcZ8#QG7;)1 zIBZ8j0c_4S1c{0hWAzmU&=3JV1QmfdDB1=O;Zb-XA8QUY01`313$BcW3UiPMQDZeq z#n!hJ6p87aqXqfbFVoi~5ksi(2t5?b=KsC;6c0v53HlQb#%z?Bf?C5Ks%N5?Fl-%y z%m{X!!>x#7CZMCOgsvb zHQRl7^vIHM8 zn~o-~!lJX~#7$Cxrz{-_Gi@{$@5VJ=T|k;zf(3Zb@9*gmv9{L!S*&-c%c3=inbmiH z3jbu|N?9!z+@n0X&X-ZpEbg%d)LSN_dZ{Q`D(;-MFjUQV6_w3utnivS1pS*}T-?3s z8`m|cJFG&Y0$R-$*v>f-&#d-@4-nUn0-#wLg=N&>X~Hb*_oEHX0A+uk5m8G4{%FYY zsB0oX8Okg!DrztzsG$++jK%xj`9^X11bK?PN8#1fY6zFzPok3Zl;vkgcFex4}EH5AfiN;ap$k z1fTP%C~=e}jeJZ-Id@it^~cpeCFPZ^4j70*+n&VYKz6P2-JH>L0D3k@k3T8RDD_Fm zf%!hZz_QQr6#fC6;8BgKUnlid+;N{0ln{?;a?&zjR{dV7ui}r-$&sdKfw`&4rmvp2 z)3?|tx%n}BuQC|kL)=H1q56&iC*nXhtm$ST^bG-}uf7}b7#?v@^6_K#onIxV;3vSR zZxSe6eU~6D^#`Orm7mI~$}h?608YrKN?&~kp%>3nC}{$i?;I}8B-haO%^_BnC^I`r0LGX5&n&QM( z9QHk%zIr}>YmJaUWz)Ck|0A3JW{;0+Z1xDny=oi?)NDVAvY+9E>aWUAp9`dPif;g7 zY&plW2a>g>mw?bSGnI|npD?^qNZI|Z>aXDI5W^!cQ(t|DBrWxooUoSde~SJ#7}WPv z{%Rk=sMJ>#qwzyY>8Wx}LWQVKrv3&WiLudZIGE61l)i%RvFV%p6?{T}Q~>j+^c1|< zrmvnij!J!ddsA7hiQ>nTEmeLMhy9FCNX@V*NU~t!I7{X)yPHW@`ddwkI8o*loR1Uo z?H(yNBktp8E%k!%4BucT`Up|-)kpO`p&^d*w+ZNz4^l4&O3wh5-_-nt$Nbs43l)Cs fqKO@;{2~F>QI%Wac+8krzx!4pakWjshO++!7008Z literal 0 HcmV?d00001 diff --git a/03/test.cpp b/03/test.cpp new file mode 100644 index 0000000..f26c986 --- /dev/null +++ b/03/test.cpp @@ -0,0 +1,29 @@ +#include +using namespace std; + +int intoPriority(char ch) +{ + int initalP = ch; + if (initalP < 97) + { + initalP -= 38; + } else {initalP -= 96;} + return initalP; +} + + + + +int main() +{ + string lo {"abcdefghijkmnopqrtsuvwxyx"}; + string up {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}; + + for (string letters: {lo, up}) + { + for (char ch: letters) + { + cout << ch << '\t' << int(ch) << '\t' << intoPriority(ch) << endl; + } + } +} \ No newline at end of file diff --git a/03/test_input.txt b/03/test_input.txt new file mode 100644 index 0000000..9919ffa --- /dev/null +++ b/03/test_input.txt @@ -0,0 +1,6 @@ +vJrwpWtwJgWrhcsFMMfFFhFp +jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL +PmmdzqPrVvPwwTWBwg +wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn +ttgJtRGJQctTZtZT +CrZsJsPPZsGzwwsLwLmpwMDw \ No newline at end of file