From 585d3537ed50602ae706be1ed9b7bb59a4a98976 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Wed, 11 Dec 2024 12:40:13 +0100 Subject: aoc 2024, day 11, part 1 --- 2024/src/day11.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 2024/src/day11.cpp (limited to '2024/src') diff --git a/2024/src/day11.cpp b/2024/src/day11.cpp new file mode 100644 index 0000000..f31e30b --- /dev/null +++ b/2024/src/day11.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include +using namespace std; + +vector +read_file(string_view filename) +{ + fstream input{ filename }; + return { istream_iterator{ input }, {} }; +} + +void +part1(vector data) +{ + for ( size_t i = 0; i != 25; ++i ) { + vector temp; + for ( const auto value: data ) { + if ( value == 0 ) { + temp.push_back(1); + continue; + } + + auto str = to_string(value); + if ( str.size() % 2 == 0 ) { + auto len = str.size() / 2; + temp.push_back(stol(str.substr(0, len))); + temp.push_back(stol(str.substr(len))); + continue; + } + + temp.push_back(value * 2024); + } + data.swap(temp); + } + cout << data.size() << endl; +} + +int +main() +{ + auto data = read_file("data/day11.txt"); + part1(data); +} -- cgit v1.3