diff --git a/2022/11/Makefile b/2022/11/Makefile new file mode 100644 index 0000000..638e325 --- /dev/null +++ b/2022/11/Makefile @@ -0,0 +1,2 @@ +a.out: main.cpp + clang++ -std=c++2b -g -O0 main.cpp diff --git a/2022/11/data.txt b/2022/11/data.txt new file mode 100644 index 0000000..463a32f --- /dev/null +++ b/2022/11/data.txt @@ -0,0 +1,55 @@ +Monkey 0: + Starting items: 93, 98 + Operation: new = old * 17 + Test: divisible by 19 + If true: throw to monkey 5 + If false: throw to monkey 3 + +Monkey 1: + Starting items: 95, 72, 98, 82, 86 + Operation: new = old + 5 + Test: divisible by 13 + If true: throw to monkey 7 + If false: throw to monkey 6 + +Monkey 2: + Starting items: 85, 62, 82, 86, 70, 65, 83, 76 + Operation: new = old + 8 + Test: divisible by 5 + If true: throw to monkey 3 + If false: throw to monkey 0 + +Monkey 3: + Starting items: 86, 70, 71, 56 + Operation: new = old + 1 + Test: divisible by 7 + If true: throw to monkey 4 + If false: throw to monkey 5 + +Monkey 4: + Starting items: 77, 71, 86, 52, 81, 67 + Operation: new = old + 4 + Test: divisible by 17 + If true: throw to monkey 1 + If false: throw to monkey 6 + +Monkey 5: + Starting items: 89, 87, 60, 78, 54, 77, 98 + Operation: new = old * 7 + Test: divisible by 2 + If true: throw to monkey 1 + If false: throw to monkey 4 + +Monkey 6: + Starting items: 69, 65, 63 + Operation: new = old + 6 + Test: divisible by 3 + If true: throw to monkey 7 + If false: throw to monkey 2 + +Monkey 7: + Starting items: 89 + Operation: new = old * old + Test: divisible by 11 + If true: throw to monkey 0 + If false: throw to monkey 2 diff --git a/2022/11/main.cpp b/2022/11/main.cpp new file mode 100644 index 0000000..a43dc5e --- /dev/null +++ b/2022/11/main.cpp @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include + +int main() +{ + std::ifstream ifs("data.txt"); + if(!ifs.is_open()) + { + std::cerr << "Missing data.txt." << std::endl; + return -1; + } + + unsigned long total = 0; + unsigned long total_pt2 = 0; + + for(std::string line; std::getline(ifs, line); ) + { + if(line == "") + continue; + } + + std::cout << " Total: " << total << std::endl; + std::cout << "PT2 Total: " << total_pt2 << std::endl; + + return 0; +}