Add 2017 day 1 puzzles

This commit is contained in:
2021-12-13 11:49:38 +00:00
parent e43fca9377
commit 020549d323
2 changed files with 44 additions and 0 deletions

21
2017/puzzle-01-01.cc Normal file
View File

@@ -0,0 +1,21 @@
#include <iostream>
#include <string>
auto main() -> int
{
std::string line;
if (!std::getline(std::cin, line)) {
std::cerr << "Unable to parse line\n";
return 1;
}
std::uint64_t v{0};
for (std::size_t idx{0}; idx < line.size() - 1; ++idx) {
if (line[idx] == line[idx + 1]) { v += line[idx] - '0';}
}
if (line[0] == line[line.size() - 1]) {
v += line[0] -'0';
}
std::cout << "CAPTCHA: " << v << '\n';
}

23
2017/puzzle-01-02.cc Normal file
View File

@@ -0,0 +1,23 @@
#include <iostream>
#include <string>
auto main() -> int
{
std::string line;
if (!std::getline(std::cin, line)) {
std::cerr << "Unable to parse line\n";
return 1;
}
std::string h1{line.substr(0, line.size() / 2)};
std::string h2{line.substr(line.size() / 2)};
std::uint64_t v{0};
for (std::size_t idx{0}; idx < h1.size(); ++idx) {
if (h1[idx] == h2[idx]) {
v += (line[idx] - '0') * 2;
}
}
std::cout << "CAPTCHA: " << v << '\n';
}