Add solution for 2025 Day 1

This commit is contained in:
Thraix
2025-12-01 20:37:03 +01:00
parent 24ae9b5069
commit c70100c1f1
2 changed files with 49 additions and 7 deletions
+10
View File
@@ -0,0 +1,10 @@
L68
L30
R48
L5
R60
L55
L1
L99
R14
L82
+39 -7
View File
@@ -5,10 +5,14 @@ namespace y2025::day01
using InputType = std::vector<int>;
REGISTER_DAY(2025, Day01, InputType, int);
REGISTER_TEST_EXAMPLE(2025, Day01, ExampleInput, 1, 0);
REGISTER_TEST(2025, Day01, Input, 1, 0);
REGISTER_TEST_EXAMPLE(2025, Day01, ExampleInput, 2, 0);
REGISTER_TEST(2025, Day01, Input, 2, 0);
REGISTER_TEST_EXAMPLE(2025, Day01, ExampleInput, 1, 3);
REGISTER_TEST(2025, Day01, Input, 1, 1152);
REGISTER_TEST_EXAMPLE(2025, Day01, ExampleInput, 2, 6);
REGISTER_TEST(2025, Day01, Input, 2, 6671);
void test(int i)
{
}
READ_INPUT(input)
{
@@ -17,8 +21,11 @@ namespace y2025::day01
while (std::getline(input, str))
{
std::stringstream ss{str};
char c;
int n;
ss >> n;
ss >> c >> n;
if (c == 'L')
n = -n;
vec.emplace_back(n);
}
return vec;
@@ -26,11 +33,36 @@ namespace y2025::day01
OUTPUT1(input)
{
return 0;
int dial = 50;
int zeros = 0;
for (int n : input)
{
dial += n;
dial %= 100;
dial = (dial + 100) % 100;
if (dial == 0)
zeros++;
}
return zeros;
}
OUTPUT2(input)
{
return 0;
int dial = 50;
int zeros = 0;
for (int n : input)
{
for (int i = 0; i < std::abs(n); i++)
{
dial += Helper::Sign(n);
dial = ((dial % 100) + 100) % 100;
if (dial == 0)
{
zeros++;
}
}
}
return zeros;
}
}