Add solution for 2025 Day 1
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
L68
|
||||
L30
|
||||
R48
|
||||
L5
|
||||
R60
|
||||
L55
|
||||
L1
|
||||
L99
|
||||
R14
|
||||
L82
|
||||
+39
-7
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user