Add 2022 solutions
This commit is contained in:
1 parent
908b362ee5
commit
ff9bd6ce01
76 files changed
+3840
-27
No files matched your search
@@ -0,0 +1,65 @@
|
||||
#include "common/aoc.h"
|
||||
|
||||
namespace y$1::day04
|
||||
{
|
||||
struct Range
|
||||
{
|
||||
int left = 0;
|
||||
int right = 0;
|
||||
};
|
||||
|
||||
struct Pair
|
||||
{
|
||||
Range r1;
|
||||
Range r2;
|
||||
};
|
||||
|
||||
REGISTER_DAY(2022, Day04, std::vector<Pair>, int);
|
||||
|
||||
REGISTER_TEST_EXAMPLE(2022, Day04, ExampleInput, 1, 2);
|
||||
REGISTER_TEST(2022, Day04, Input, 1, 477);
|
||||
REGISTER_TEST_EXAMPLE(2022, Day04, ExampleInput, 2, 4);
|
||||
REGISTER_TEST(2022, Day04, Input, 2, 830);
|
||||
|
||||
READ_INPUT(input)
|
||||
{
|
||||
std::string str;
|
||||
std::vector<Pair> pairs;
|
||||
while (std::getline(input, str))
|
||||
{
|
||||
std::stringstream ss{str};
|
||||
Pair pair;
|
||||
ss >> pair.r1.left >> "-" >> pair.r1.right >> ",";
|
||||
ss >> pair.r2.left >> "-" >> pair.r2.right;
|
||||
pairs.emplace_back(pair);
|
||||
}
|
||||
return pairs;
|
||||
}
|
||||
|
||||
OUTPUT1(input)
|
||||
{
|
||||
int sum = 0;
|
||||
for (auto& pair : input)
|
||||
{
|
||||
if ((pair.r1.left >= pair.r2.left && pair.r1.right <= pair.r2.right) ||
|
||||
(pair.r2.left >= pair.r1.left && pair.r2.right <= pair.r1.right))
|
||||
{
|
||||
sum++;
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
OUTPUT2(input)
|
||||
{
|
||||
int sum = 0;
|
||||
for (auto& pair : input)
|
||||
{
|
||||
if (pair.r1.left <= pair.r2.right && pair.r1.right >= pair.r2.left)
|
||||
{
|
||||
sum++;
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user