aboutsummaryrefslogtreecommitdiff
path: root/src/2016/day14/aoc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/2016/day14/aoc.cpp')
-rw-r--r--src/2016/day14/aoc.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/2016/day14/aoc.cpp b/src/2016/day14/aoc.cpp
index 364bb5e..d70ff49 100644
--- a/src/2016/day14/aoc.cpp
+++ b/src/2016/day14/aoc.cpp
@@ -56,16 +56,17 @@ md5_property md5(const char* secret, size_t index) {
auto s = md5s.size();
md5s.resize(index + 1);
for (size_t i = s; i < md5s.size(); i++) {
- sprintf(buf + l, "%zu", index);
+ sprintf(buf + l, "%zu", i);
md5s[i].md5 = std::string(md5sum(buf), 32);
auto pc3 = has(md5s[i].md5.c_str(), 3);
if (pc3 != nullptr) {
md5s[i].c = *pc3;
auto pc5 = has(md5s[i].md5.c_str(), 5);
if (pc5 != nullptr) {
- auto p = has5s.insert({*pc3, {index}});
+ // printf("%zu has 5 %c\n", i, *pc3);
+ auto p = has5s.insert({*pc3, {i}});
if (!p.second) {
- p.first->second.push_back(index);
+ p.first->second.push_back(i);
}
}
}
@@ -83,15 +84,15 @@ size_t find_key(int* count, int max) {
}
i++;
}
- return i;
+ return i - 1;
}
-std::pair<int64_t, int64_t> day14(line_view) {
- md5("abc", 30000);
- // md5("jlmsuwbz", 30000);
+std::pair<size_t, int64_t> day14(line_view) {
+ // md5("abc", 30000);
+
+ md5("jlmsuwbz", 50000);
int count{0};
auto i = find_key(&count, 64);
- printf("%zu\n", i);
- return {0, 0};
+ return {i, 0};
}
} // namespace aoc2016