aboutsummaryrefslogtreecommitdiff
path: root/src/2022/day16/aoc.cpp
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2023-01-12 15:24:53 +0800
committerkaiwu <kaiwu2004@gmail.com>2023-01-12 15:24:53 +0800
commit7c0030e147d303f55ec7e47a5ac4c1c81501e4f6 (patch)
treec2246d98333d9b95760a973ebb8017495fc31d10 /src/2022/day16/aoc.cpp
parent97241ea1ee652fdae0f761b3d0338aaed85f5945 (diff)
downloadadvent-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.cpp25
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