diff options
author | kaiwu <kaiwu2004@gmail.com> | 2023-01-10 16:22:03 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2023-01-10 16:22:03 +0800 |
commit | 6d7566a1462d9e610500ca8129a45f4307a0b9e0 (patch) | |
tree | 2644991cd044b00744f20d0193e6c9b0914b90ca /src/2022/day16/aoc.cpp | |
parent | 8b39eae89438440c76ea2fb0dbe83f261672756e (diff) | |
download | advent-of-code-6d7566a1462d9e610500ca8129a45f4307a0b9e0.tar.gz advent-of-code-6d7566a1462d9e610500ca8129a45f4307a0b9e0.zip |
2022 day16 part1
Diffstat (limited to 'src/2022/day16/aoc.cpp')
-rw-r--r-- | src/2022/day16/aoc.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/2022/day16/aoc.cpp b/src/2022/day16/aoc.cpp index 658357c..460b29a 100644 --- a/src/2022/day16/aoc.cpp +++ b/src/2022/day16/aoc.cpp @@ -77,7 +77,7 @@ void flow(int m, valve* v, std::set<valve*> opened, int total, int* max) { // choose next for (auto& n : diagram[v]) { - if (m >= n.m) { + if (m >= n.m && opened.find(n.v) == opened.end()) { flow(m - n.m, n.v, opened, total, max); } } @@ -110,18 +110,9 @@ std::pair<int, int> day16(line_view file) { diagram.insert({v, vs}); } - // for (auto& kv : diagram) { - // valve* v = kv.first; - // std::cout << v->name << ": "; - // for (auto& n : kv.second) { - // std::cout << n.v->name << "(" << n.m << ") "; - // } - // std::cout << std::endl; - // } - int max{INT32_MIN}; std::set<valve*> opened; - flow(30, get("AA"), opened, 0, &max); + flow(29, get("BB"), opened, 0, &max); printf("%d\n", max); |