From 765223e3a1bd4d3be8cb2c8b11e2b836e5690038 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Wed, 3 Dec 2025 17:02:20 +0100 Subject: aoc 2025, day 3, part 1 --- 2025/src/day03.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 2025/src/day03.cpp (limited to '2025') diff --git a/2025/src/day03.cpp b/2025/src/day03.cpp new file mode 100644 index 0000000..c131255 --- /dev/null +++ b/2025/src/day03.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; + +namespace { + +vector> +read_file(const filesystem::path& filename) +{ + ifstream file{ filename }; + vector> lines; + + for ( string line; getline(file, line); ) { + vector numbers; + for ( auto chr: line ) { + if ( isdigit(chr) ) { + numbers.emplace_back(chr - '0'); + } + } + lines.emplace_back(std::move(numbers)); + } + + return lines; +} + +void +part1(const vector>& lines) +{ + long sum = 0; + for ( const auto& line: lines ) { + auto first = max_element(line.begin(), prev(line.end())); + auto second = max_element(next(first), line.end()); + sum += *first * 10 + *second; + } + cout << "Part 1: " << sum << '\n'; +} + +} // namespace + +int +main() +{ + auto lines = read_file("data/day03.txt"); + part1(lines); +} -- cgit v1.3