Add 2017 day 1 puzzles
This commit is contained in:
21
2017/puzzle-01-01.cc
Normal file
21
2017/puzzle-01-01.cc
Normal 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
23
2017/puzzle-01-02.cc
Normal 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';
|
||||
}
|
Reference in New Issue
Block a user