Add solution for 2016 Day 1
This commit is contained in:
1 parent
3b014b0abc
commit
bcf645a6c0
2 files changed
+19
-10
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
123123
|
||||||
+18
-10
@@ -2,30 +2,38 @@
|
|||||||
|
|
||||||
namespace y2017::day01
|
namespace y2017::day01
|
||||||
{
|
{
|
||||||
REGISTER_DAY(2017, Day01, std::vector<int>, int);
|
REGISTER_DAY(2017, Day01, std::string, int);
|
||||||
|
|
||||||
REGISTER_TEST_EXAMPLE(2017, Day01, ExampleInput, 1, 0);
|
REGISTER_TEST_EXAMPLE(2017, Day01, ExampleInput, 1, 0);
|
||||||
REGISTER_TEST(2017, Day01, Input, 1, 0);
|
REGISTER_TEST(2017, Day01, Input, 1, 1089);
|
||||||
REGISTER_TEST_EXAMPLE(2017, Day01, ExampleInput, 2, 0);
|
REGISTER_TEST_EXAMPLE(2017, Day01, ExampleInput, 2, 12);
|
||||||
REGISTER_TEST(2017, Day01, Input, 2, 0);
|
REGISTER_TEST(2017, Day01, Input, 2, 1156);
|
||||||
|
|
||||||
READ_INPUT(input)
|
READ_INPUT(input)
|
||||||
{
|
{
|
||||||
std::vector<int> vec;
|
|
||||||
std::string str;
|
std::string str;
|
||||||
while (getline(input, str))
|
getline(input, str);
|
||||||
{
|
return str;
|
||||||
}
|
}
|
||||||
return vec;
|
|
||||||
|
int Solve(const std::string& str, int offset)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
for (int i = 0; i < str.size(); i++)
|
||||||
|
{
|
||||||
|
if (str[i] == str[(i + offset) % str.size()])
|
||||||
|
count += str[i] - '0';
|
||||||
|
}
|
||||||
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT1(input)
|
OUTPUT1(input)
|
||||||
{
|
{
|
||||||
return 0;
|
return Solve(input, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT2(input)
|
OUTPUT2(input)
|
||||||
{
|
{
|
||||||
return 0;
|
return Solve(input, input.size() / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user