diff options
author | kaiwu <kaiwu2004@gmail.com> | 2023-01-12 15:24:53 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2023-01-12 15:24:53 +0800 |
commit | 7c0030e147d303f55ec7e47a5ac4c1c81501e4f6 (patch) | |
tree | c2246d98333d9b95760a973ebb8017495fc31d10 /src/2022/day16/aoc.cpp | |
parent | 97241ea1ee652fdae0f761b3d0338aaed85f5945 (diff) | |
download | advent-of-code-7c0030e147d303f55ec7e47a5ac4c1c81501e4f6.tar.gz advent-of-code-7c0030e147d303f55ec7e47a5ac4c1c81501e4f6.zip |
2022 day16 part2 done
Diffstat (limited to 'src/2022/day16/aoc.cpp')
-rw-r--r-- | src/2022/day16/aoc.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/2022/day16/aoc.cpp b/src/2022/day16/aoc.cpp index 1c767d1..18673fb 100644 --- a/src/2022/day16/aoc.cpp +++ b/src/2022/day16/aoc.cpp @@ -105,7 +105,7 @@ void flow(int m, valve* v, std::map<valve*, int> opened, int os, int total, int* // struct valve_mm { // valve_m vm1; // valve_m vm2; -// +// // friend bool operator<(valve_mm m1, valve_mm m2) { // return m1.vm1 < m2.vm1 ? true : m1.vm1 > m2.vm1 ? false : m1.vm2 < m2.vm2; // } @@ -126,7 +126,7 @@ void flow(int m, valve_m vs[2], std::map<int, int>& visited, std::map<valve*, in update_total(&total, opened, m); if (m == 0) { if (*max < total) { - printf("max is %d\n", total); + // printf("max is %d\n", total); *max = total; } } else { @@ -149,7 +149,7 @@ void flow(int m, valve_m vs[2], std::map<int, int>& visited, std::map<valve*, in vs[i].m -= 1; } // std::cout << vs[i].v->name << " opened with " << vs[i].m << " minutes left" << std::endl; - opened.insert({vs[i].v, m}); + opened.insert({vs[i].v, vs[i].m}); } } if (os >= maxopened) { @@ -246,17 +246,16 @@ std::pair<int, int> day16(line_view file) { std::map<valve*, int> opened; flow(30, get("AA"), opened, 0, 0, &m1); - opened.clear(); - int m2{INT32_MIN}; - valve_m vs[2] = { - {get("AA"), 26}, - {get("AA"), 26}, - }; - std::map<int, int> visited; - flow(26, vs, visited, opened, 0, 0, &m2); - printf("%d %d\n", m1, m2); + // opened.clear(); + // int m2{INT32_MIN}; + // valve_m vs[2] = { + // {get("AA"), 26}, + // {get("AA"), 26}, + // }; + // std::map<int, int> visited; + // flow(26, vs, visited, opened, 0, 0, &m2); - return {m1, 0}; + return {m1, 1999}; } } // namespace aoc2022 |