diff --git a/src/days/01/Day01.cpp b/src/days/01/Day01.cpp index f001932..c3f4c36 100644 --- a/src/days/01/Day01.cpp +++ b/src/days/01/Day01.cpp @@ -2,49 +2,50 @@ Result Day01::Task1() { uint32_t sum = 0; - for (const string& line : input){ - uint8_t left = *std::find_if(line.begin(), line.end(), [](const char c){ - int diff = c - '0'; - return diff >= 0 && diff < 10; - }) - '0'; - uint8_t right = *std::find_if(std::make_reverse_iterator(line.end()), std::make_reverse_iterator(line.begin()), [](const char c){ + for (const string &line: input) { + uint8_t left = *std::find_if(line.begin(), line.end(), [](const char c) { int diff = c - '0'; return diff >= 0 && diff < 10; }) - '0'; + uint8_t right = *std::find_if(std::make_reverse_iterator(line.end()), std::make_reverse_iterator(line.begin()), + [](const char c) { + int diff = c - '0'; + return diff >= 0 && diff < 10; + }) - '0'; sum += left * 10 + right; } - return to_string(sum); + return to_string(sum); } Result Day01::Task2() { uint32_t sum = 0; std::map convert = { - {"one", '1'}, - {"two", '2'}, + {"one", '1'}, + {"two", '2'}, {"three", '3'}, - {"four", '4'}, - {"five", '5'}, - {"six", '6'}, + {"four", '4'}, + {"five", '5'}, + {"six", '6'}, {"seven", '7'}, {"eight", '8'}, - {"nine", '9'}, + {"nine", '9'}, }; - for (const string &line : input){ + for (const string &line: input) { uint8_t left = 0, right = 0; - for (size_t i = 0; i < line.length(); i++){ + for (size_t i = 0; i < line.length(); i++) { auto current = line.substr(0, i + 1); auto diff = current.back() - '0'; - if (diff > 0 && diff < 10){ + if (diff > 0 && diff < 10) { left = diff; break; } bool found = false; - for (const auto& [key, value] : convert){ + for (const auto &[key, value]: convert) { auto pos = current.find(key); - if (pos != string::npos){ + if (pos != string::npos) { left = value - '0'; found = true; break; @@ -53,17 +54,17 @@ Result Day01::Task2() { if (found) break; } - for (size_t i = 0; i < line.length(); i++){ + for (size_t i = 0; i < line.length(); i++) { auto current = line.substr(line.length() - i - 1); auto diff = current.front() - '0'; - if (diff > 0 && diff < 10){ + if (diff > 0 && diff < 10) { right = diff; break; } bool found = false; - for (const auto& [key, value] : convert){ + for (const auto &[key, value]: convert) { auto pos = current.find(key); - if (pos != string::npos){ + if (pos != string::npos) { right = value - '0'; found = true; break; @@ -75,5 +76,5 @@ Result Day01::Task2() { sum += left * 10 + right; } - return to_string(sum); + return to_string(sum); } \ No newline at end of file diff --git a/src/days/01/Day01.h b/src/days/01/Day01.h index 2b72458..dc2347b 100644 --- a/src/days/01/Day01.h +++ b/src/days/01/Day01.h @@ -4,7 +4,7 @@ class Day01 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/02/Day02.cpp b/src/days/02/Day02.cpp index bc16b67..b231cb4 100644 --- a/src/days/02/Day02.cpp +++ b/src/days/02/Day02.cpp @@ -7,9 +7,9 @@ Result Day02::Task1() { uint32_t sum = 0; uint32_t id = 1; - for (const Game &game : parseGames()){ + for (const Game &game: parseGames()) { bool possible = true; - for (const auto &set : game) + for (const auto &set: game) if (set[0] > r || set[1] > g || set[2] > b) possible = false; if (possible) @@ -17,14 +17,14 @@ Result Day02::Task1() { id++; } - return to_string(sum); + return to_string(sum); } Result Day02::Task2() { uint32_t sum = 0; - for (const Game &game : parseGames()){ + for (const Game &game: parseGames()) { size_t r = 0, g = 0, b = 0; - for (const auto &set : game){ + for (const auto &set: game) { r = std::max(r, set[0]); g = std::max(g, set[1]); b = std::max(b, set[2]); @@ -36,14 +36,14 @@ Result Day02::Task2() { vector Day02::parseGames() const { vector games; - for (const string &line : input){ + for (const string &line: input) { auto record = line.substr(line.find(": ") + 1); record.push_back(';'); auto setIndices = findAll(record, ";"); Game game; size_t start = 0; - for (size_t i : setIndices){ + for (size_t i: setIndices) { auto set = record.substr(start, i - start); auto findNumber = [set](const string &type) -> size_t { diff --git a/src/days/02/Day02.h b/src/days/02/Day02.h index 50adb01..0efb4a0 100644 --- a/src/days/02/Day02.h +++ b/src/days/02/Day02.h @@ -5,9 +5,9 @@ class Day02 : public Day { typedef vector> Game; protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; vector parseGames() const; }; \ No newline at end of file diff --git a/src/days/03/Day03.cpp b/src/days/03/Day03.cpp index fa36133..e8cbaef 100644 --- a/src/days/03/Day03.cpp +++ b/src/days/03/Day03.cpp @@ -5,21 +5,21 @@ Result Day03::Task1() { auto isSymbol = [this](int32_t x, int32_t y) -> bool { if (x < 0 || x > input[0].length() - 1 || - y < 0 || y > input.size() - 1){ + y < 0 || y > input.size() - 1) { return false; } char c = input[y][x]; return !isDigit(c) && c != '.'; }; - for (const auto &[number, position] : parseEngineNumbers()){ + for (const auto &[number, position]: parseEngineNumbers()) { auto &[value, size] = number; auto &[x, y] = position; bool symbolFound = false; - for (int32_t sx = x - 1; sx < x + size + 1; sx++){ - for (int32_t sy = y - 1; sy < y + 2; sy++){ - if (isSymbol(sx, sy)){ + for (int32_t sx = x - 1; sx < x + size + 1; sx++) { + for (int32_t sy = y - 1; sy < y + 2; sy++) { + if (isSymbol(sx, sy)) { symbolFound = true; break; } @@ -29,7 +29,7 @@ Result Day03::Task1() { sum += value; } - return to_string(sum); + return to_string(sum); } Result Day03::Task2() { @@ -39,20 +39,20 @@ Result Day03::Task2() { auto isStar = [this](int32_t x, int32_t y) -> bool { if (x < 0 || x > input[0].length() - 1 || - y < 0 || y > input.size() - 1){ + y < 0 || y > input.size() - 1) { return false; } return input[y][x] == '*'; }; - for (const auto &[number, position] : parseEngineNumbers()){ + for (const auto &[number, position]: parseEngineNumbers()) { auto &[value, size] = number; auto &[x, y] = position; - for (int32_t sx = x - 1; sx < x + size + 1; sx++){ - for (int32_t sy = y - 1; sy < y + 2; sy++){ - if (isStar(sx, sy)){ - if (stars.contains({sx, sy})){ + for (int32_t sx = x - 1; sx < x + size + 1; sx++) { + for (int32_t sy = y - 1; sy < y + 2; sy++) { + if (isStar(sx, sy)) { + if (stars.contains({sx, sy})) { stars[{sx, sy}].insert({number, position}); } else { stars[{sx, sy}] = {{number, position}}; @@ -62,8 +62,8 @@ Result Day03::Task2() { } } - for (auto &[position, numbers] : stars){ - if (numbers.size() == 2){ + for (auto &[position, numbers]: stars) { + if (numbers.size() == 2) { sum += numbers.begin()->first.first * (++numbers.begin())->first.first; } } @@ -74,23 +74,25 @@ Result Day03::Task2() { vector Day03::parseEngineNumbers() const { vector numbers; - for (size_t y = 0; y < input.size(); y++){ - const string& line = input[y]; + for (size_t y = 0; y < input.size(); y++) { + const string &line = input[y]; uint32_t value = 0; uint8_t valueLength = 0; bool readingValue = false; - for (size_t x = 0; x < line.length(); x++){ + for (size_t x = 0; x < line.length(); x++) { uint8_t digit; - if (isDigit(line[x], digit)){ + if (isDigit(line[x], digit)) { value = value * 10 + digit; valueLength++; readingValue = true; if (x == line.length() - 1) - numbers.push_back({{value, valueLength}, {x - valueLength, y}}); + numbers.push_back({{value, valueLength}, + {x - valueLength, y}}); } else { if (readingValue) - numbers.push_back({{value, valueLength}, {x - valueLength, y}}); + numbers.push_back({{value, valueLength}, + {x - valueLength, y}}); readingValue = false; valueLength = 0; value = 0; diff --git a/src/days/03/Day03.h b/src/days/03/Day03.h index 3d98cdd..53cdff5 100644 --- a/src/days/03/Day03.h +++ b/src/days/03/Day03.h @@ -5,9 +5,9 @@ class Day03 : public Day { typedef pair, pair> EngineNumber; protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; vector parseEngineNumbers() const; }; \ No newline at end of file diff --git a/src/days/04/Day04.cpp b/src/days/04/Day04.cpp index 74cb831..d242495 100644 --- a/src/days/04/Day04.cpp +++ b/src/days/04/Day04.cpp @@ -4,37 +4,39 @@ Result Day04::Task1() { uint64 sum = 0; - for (const auto &[winning, having] : parseCards()){ + for (const auto &[winning, having]: parseCards()) { std::set result; - std::set_intersection(winning.begin(), winning.end(), having.begin(), having.end(), std::inserter(result, result.begin())); - if (!result.empty()){ + std::set_intersection(winning.begin(), winning.end(), having.begin(), having.end(), + std::inserter(result, result.begin())); + if (!result.empty()) { sum += uint64(powl(2, result.size() - 1)); } } - return to_string(sum); + return to_string(sum); } Result Day04::Task2() { vector matches; - for (const auto &[winning, having] : parseCards()){ + for (const auto &[winning, having]: parseCards()) { std::set result; - std::set_intersection(winning.begin(), winning.end(), having.begin(), having.end(), std::inserter(result, result.begin())); + std::set_intersection(winning.begin(), winning.end(), having.begin(), having.end(), + std::inserter(result, result.begin())); matches.push_back(result.size()); } vector counts(matches.size(), 1); - for (size_t i = 0; i < matches.size(); i++){ - for (size_t instance = 0; instance < counts[i]; instance++){ - for (size_t k = 0; k < matches[i]; k++){ + for (size_t i = 0; i < matches.size(); i++) { + for (size_t instance = 0; instance < counts[i]; instance++) { + for (size_t k = 0; k < matches[i]; k++) { counts[i + k + 1]++; } } } - uint64 sum = std::reduce(counts.begin(), counts.end(), 0, [](uint64 a, uint64 b){return a + b;}); + uint64 sum = std::reduce(counts.begin(), counts.end(), 0, [](uint64 a, uint64 b) { return a + b; }); return to_string(sum); } @@ -42,7 +44,7 @@ Result Day04::Task2() { vector Day04::parseCards() const { vector cards; - for (string line : input){ + for (string line: input) { line = line.substr(line.find(':') + 1); string left = line.substr(0, line.find(" |")); string right = line.substr(line.find(" |") + 2); diff --git a/src/days/04/Day04.h b/src/days/04/Day04.h index e822ef2..823c082 100644 --- a/src/days/04/Day04.h +++ b/src/days/04/Day04.h @@ -5,9 +5,9 @@ class Day04 : public Day { typedef pair, set> Card; protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; vector parseCards() const; }; \ No newline at end of file diff --git a/src/days/05/Day05.cpp b/src/days/05/Day05.cpp index eaca7c7..539d2e7 100644 --- a/src/days/05/Day05.cpp +++ b/src/days/05/Day05.cpp @@ -6,14 +6,14 @@ Result Day05::Task1() { uint64 min = UINT64_MAX; - for (uint64 seed : seeds){ + for (uint64 seed: seeds) { uint64 result = seed; - for (const Map &map : maps) + for (const Map &map: maps) result = map.get(result); min = std::min(min, result); } - return to_string(min); + return to_string(min); } Result Day05::Task2() { @@ -22,17 +22,17 @@ Result Day05::Task2() { uint64 min = UINT64_MAX; - for (size_t i = 0; i < seeds.size(); i += 2){ - vector resultRanges {Range(seeds[i], seeds[i] + seeds[i + 1] - 1)}; - for (const Map &map : maps){ + for (size_t i = 0; i < seeds.size(); i += 2) { + vector resultRanges{Range(seeds[i], seeds[i] + seeds[i + 1] - 1)}; + for (const Map &map: maps) { vector newRanges; - for (const Range &range : resultRanges) { + for (const Range &range: resultRanges) { auto add = map.get(range); std::copy(add.begin(), add.end(), std::back_inserter(newRanges)); } resultRanges = newRanges; } - for (const Range &range : resultRanges) + for (const Range &range: resultRanges) min = std::min(min, range.start); } @@ -43,7 +43,7 @@ vector Day05::parseSeeds() const { vector seeds; auto list = (input[0] + " ").substr(7); size_t start = 0; - for (size_t i : findAll(list, " ")){ + for (size_t i: findAll(list, " ")) { seeds.push_back(std::stoul(list.substr(start, i - start))); start = i; } @@ -56,9 +56,9 @@ std::array Day05::parseMaps() const { size_t map = 0; - for (size_t i = 3; i < input.size(); i++){ + for (size_t i = 3; i < input.size(); i++) { string line = input[i]; - if (line.empty()){ + if (line.empty()) { i++; map++; continue; @@ -91,7 +91,7 @@ bool Day05::Mapping::touchesRange(Day05::Range src) const { uint64 Day05::Map::get(uint64 src) const { - for (const Mapping &mapping : mappings) + for (const Mapping &mapping: mappings) if (mapping.containsKey(src)) return mapping.get(src); return src; @@ -109,7 +109,7 @@ vector Day05::Map::get(Day05::Range src) const { if (src.end > maxSource) ranges.emplace_back(maxSource + 1, src.end); - for (const Mapping &mapping : mappings) + for (const Mapping &mapping: mappings) if (mapping.touchesRange(src)) ranges.emplace_back(mapping.get(src)); diff --git a/src/days/05/Day05.h b/src/days/05/Day05.h index 34b7036..57f58ec 100644 --- a/src/days/05/Day05.h +++ b/src/days/05/Day05.h @@ -7,26 +7,37 @@ class Day05 : public Day { uint64 start; uint64 end; }; + struct Mapping { uint64 destination; uint64 source; uint64 range; + bool containsKey(uint64 src) const; + uint64 get(uint64 src) const; + bool touchesRange(Range src) const; + Range get(Range src) const; - bool operator <(const Mapping &other) const; + + bool operator<(const Mapping &other) const; }; + struct Map { set mappings; + uint64 get(uint64 src) const; + vector get(Range src) const; }; + protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; vector parseSeeds() const; + std::array parseMaps() const; }; \ No newline at end of file diff --git a/src/days/06/Day06.cpp b/src/days/06/Day06.cpp index 256bfb5..7b48c8f 100644 --- a/src/days/06/Day06.cpp +++ b/src/days/06/Day06.cpp @@ -1,9 +1,9 @@ #include "Day06.h" Result Day06::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day06::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/06/Day06.h b/src/days/06/Day06.h index 829fca9..785fc5d 100644 --- a/src/days/06/Day06.h +++ b/src/days/06/Day06.h @@ -4,7 +4,7 @@ class Day06 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/07/Day07.cpp b/src/days/07/Day07.cpp index 339ae0f..d89165a 100644 --- a/src/days/07/Day07.cpp +++ b/src/days/07/Day07.cpp @@ -1,9 +1,9 @@ #include "Day07.h" Result Day07::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day07::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/07/Day07.h b/src/days/07/Day07.h index 4cbc911..39f98fe 100644 --- a/src/days/07/Day07.h +++ b/src/days/07/Day07.h @@ -4,7 +4,7 @@ class Day07 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/08/Day08.cpp b/src/days/08/Day08.cpp index 2cef7b6..047f516 100644 --- a/src/days/08/Day08.cpp +++ b/src/days/08/Day08.cpp @@ -1,9 +1,9 @@ #include "Day08.h" Result Day08::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day08::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/08/Day08.h b/src/days/08/Day08.h index f4712e7..d0933bd 100644 --- a/src/days/08/Day08.h +++ b/src/days/08/Day08.h @@ -4,7 +4,7 @@ class Day08 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/09/Day09.cpp b/src/days/09/Day09.cpp index 4eb2146..5e1968d 100644 --- a/src/days/09/Day09.cpp +++ b/src/days/09/Day09.cpp @@ -1,9 +1,9 @@ #include "Day09.h" Result Day09::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day09::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/09/Day09.h b/src/days/09/Day09.h index c73088e..0747edd 100644 --- a/src/days/09/Day09.h +++ b/src/days/09/Day09.h @@ -4,7 +4,7 @@ class Day09 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/10/Day10.cpp b/src/days/10/Day10.cpp index cae811b..8801a58 100644 --- a/src/days/10/Day10.cpp +++ b/src/days/10/Day10.cpp @@ -1,9 +1,9 @@ #include "Day10.h" Result Day10::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day10::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/10/Day10.h b/src/days/10/Day10.h index e263a56..a4713aa 100644 --- a/src/days/10/Day10.h +++ b/src/days/10/Day10.h @@ -4,7 +4,7 @@ class Day10 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/11/Day11.cpp b/src/days/11/Day11.cpp index 6cb34b6..8376f31 100644 --- a/src/days/11/Day11.cpp +++ b/src/days/11/Day11.cpp @@ -1,9 +1,9 @@ #include "Day11.h" Result Day11::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day11::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/11/Day11.h b/src/days/11/Day11.h index 2883f1a..29ebeba 100644 --- a/src/days/11/Day11.h +++ b/src/days/11/Day11.h @@ -4,7 +4,7 @@ class Day11 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/12/Day12.cpp b/src/days/12/Day12.cpp index e3cc2c4..fd9f16d 100644 --- a/src/days/12/Day12.cpp +++ b/src/days/12/Day12.cpp @@ -1,9 +1,9 @@ #include "Day12.h" Result Day12::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day12::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/12/Day12.h b/src/days/12/Day12.h index b713fc4..1d4054d 100644 --- a/src/days/12/Day12.h +++ b/src/days/12/Day12.h @@ -4,7 +4,7 @@ class Day12 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/13/Day13.cpp b/src/days/13/Day13.cpp index 619e886..6fd9442 100644 --- a/src/days/13/Day13.cpp +++ b/src/days/13/Day13.cpp @@ -1,9 +1,9 @@ #include "Day13.h" Result Day13::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day13::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/13/Day13.h b/src/days/13/Day13.h index eac7676..141861d 100644 --- a/src/days/13/Day13.h +++ b/src/days/13/Day13.h @@ -4,7 +4,7 @@ class Day13 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/14/Day14.cpp b/src/days/14/Day14.cpp index 4b2001d..89e4558 100644 --- a/src/days/14/Day14.cpp +++ b/src/days/14/Day14.cpp @@ -1,9 +1,9 @@ #include "Day14.h" Result Day14::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day14::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/14/Day14.h b/src/days/14/Day14.h index e7af034..cc9cd29 100644 --- a/src/days/14/Day14.h +++ b/src/days/14/Day14.h @@ -4,7 +4,7 @@ class Day14 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/15/Day15.cpp b/src/days/15/Day15.cpp index b94014d..fa0c5f5 100644 --- a/src/days/15/Day15.cpp +++ b/src/days/15/Day15.cpp @@ -1,9 +1,9 @@ #include "Day15.h" Result Day15::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day15::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/15/Day15.h b/src/days/15/Day15.h index e526cb1..e2b8133 100644 --- a/src/days/15/Day15.h +++ b/src/days/15/Day15.h @@ -4,7 +4,7 @@ class Day15 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/16/Day16.cpp b/src/days/16/Day16.cpp index ac4e8a2..0b4b34a 100644 --- a/src/days/16/Day16.cpp +++ b/src/days/16/Day16.cpp @@ -1,9 +1,9 @@ #include "Day16.h" Result Day16::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day16::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/16/Day16.h b/src/days/16/Day16.h index 7d47781..3282764 100644 --- a/src/days/16/Day16.h +++ b/src/days/16/Day16.h @@ -4,7 +4,7 @@ class Day16 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/17/Day17.cpp b/src/days/17/Day17.cpp index d97c359..478a2a8 100644 --- a/src/days/17/Day17.cpp +++ b/src/days/17/Day17.cpp @@ -1,9 +1,9 @@ #include "Day17.h" Result Day17::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day17::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/17/Day17.h b/src/days/17/Day17.h index 984c4ba..7ac6939 100644 --- a/src/days/17/Day17.h +++ b/src/days/17/Day17.h @@ -4,7 +4,7 @@ class Day17 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/18/Day18.cpp b/src/days/18/Day18.cpp index 0a70982..14ab116 100644 --- a/src/days/18/Day18.cpp +++ b/src/days/18/Day18.cpp @@ -1,9 +1,9 @@ #include "Day18.h" Result Day18::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day18::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/18/Day18.h b/src/days/18/Day18.h index 0a7c622..53f39b6 100644 --- a/src/days/18/Day18.h +++ b/src/days/18/Day18.h @@ -4,7 +4,7 @@ class Day18 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/19/Day19.cpp b/src/days/19/Day19.cpp index 2130551..6dad2c9 100644 --- a/src/days/19/Day19.cpp +++ b/src/days/19/Day19.cpp @@ -1,9 +1,9 @@ #include "Day19.h" Result Day19::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day19::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/19/Day19.h b/src/days/19/Day19.h index 8bd9d57..89b6d86 100644 --- a/src/days/19/Day19.h +++ b/src/days/19/Day19.h @@ -4,7 +4,7 @@ class Day19 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/20/Day20.cpp b/src/days/20/Day20.cpp index 61da045..6d087d2 100644 --- a/src/days/20/Day20.cpp +++ b/src/days/20/Day20.cpp @@ -1,9 +1,9 @@ #include "Day20.h" Result Day20::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day20::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/20/Day20.h b/src/days/20/Day20.h index 3b1d87f..8ba0e98 100644 --- a/src/days/20/Day20.h +++ b/src/days/20/Day20.h @@ -4,7 +4,7 @@ class Day20 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/21/Day21.cpp b/src/days/21/Day21.cpp index 2a70ddb..8ab87ec 100644 --- a/src/days/21/Day21.cpp +++ b/src/days/21/Day21.cpp @@ -1,9 +1,9 @@ #include "Day21.h" Result Day21::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day21::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/21/Day21.h b/src/days/21/Day21.h index 0635da0..7ea7f3d 100644 --- a/src/days/21/Day21.h +++ b/src/days/21/Day21.h @@ -4,7 +4,7 @@ class Day21 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/22/Day22.cpp b/src/days/22/Day22.cpp index 6e9b249..d191bef 100644 --- a/src/days/22/Day22.cpp +++ b/src/days/22/Day22.cpp @@ -1,9 +1,9 @@ #include "Day22.h" Result Day22::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day22::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/22/Day22.h b/src/days/22/Day22.h index d7e2b87..86e1434 100644 --- a/src/days/22/Day22.h +++ b/src/days/22/Day22.h @@ -4,7 +4,7 @@ class Day22 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/23/Day23.cpp b/src/days/23/Day23.cpp index 7e048b0..722d2f3 100644 --- a/src/days/23/Day23.cpp +++ b/src/days/23/Day23.cpp @@ -1,9 +1,9 @@ #include "Day23.h" Result Day23::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day23::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/23/Day23.h b/src/days/23/Day23.h index 06c4bf8..356382f 100644 --- a/src/days/23/Day23.h +++ b/src/days/23/Day23.h @@ -4,7 +4,7 @@ class Day23 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/24/Day24.cpp b/src/days/24/Day24.cpp index fbf2778..b1b74a7 100644 --- a/src/days/24/Day24.cpp +++ b/src/days/24/Day24.cpp @@ -1,9 +1,9 @@ #include "Day24.h" Result Day24::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day24::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/24/Day24.h b/src/days/24/Day24.h index be8afb7..3bde5d1 100644 --- a/src/days/24/Day24.h +++ b/src/days/24/Day24.h @@ -4,7 +4,7 @@ class Day24 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/days/25/Day25.cpp b/src/days/25/Day25.cpp index b461fa5..b83f3d7 100644 --- a/src/days/25/Day25.cpp +++ b/src/days/25/Day25.cpp @@ -1,9 +1,9 @@ #include "Day25.h" Result Day25::Task1() { - return Day::Task1(); + return Day::Task1(); } Result Day25::Task2() { - return Day::Task2(); + return Day::Task2(); } \ No newline at end of file diff --git a/src/days/25/Day25.h b/src/days/25/Day25.h index f4277d0..eed9c82 100644 --- a/src/days/25/Day25.h +++ b/src/days/25/Day25.h @@ -4,7 +4,7 @@ class Day25 : public Day { protected: - Result Task1() override; + Result Task1() override; - Result Task2() override; + Result Task2() override; }; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 3dee472..9ed13ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,8 +14,8 @@ Input getInput(int day, string key, bool useTestInput, int testFetchIndex) { string dayStr = std::to_string(day); string url = "https://adventofcode.com/2023/day/" + dayStr; auto cookies = cpr::Cookies{{"session", key}}; - if (!useTestInput){ - if (key.empty()){ + if (!useTestInput) { + if (key.empty()) { cout << "Session key Cookie is missing, cannot fetch Input" << endl; return input; } @@ -25,7 +25,8 @@ Input getInput(int day, string key, bool useTestInput, int testFetchIndex) { file << cpr::Get(cpr::Url{url}, cookies).text; file.close(); } else { - cout << "Test Input does not exist. Fetching from " + url << " from -Tag with index " << testFetchIndex << endl; + cout << "Test Input does not exist. Fetching from " + url << " from -Tag with index " + << testFetchIndex << endl; std::ofstream file(localFilePath); string res = cpr::Get(cpr::Url{url}).text; size_t i1 = findAll(res, "")[testFetchIndex]; @@ -59,7 +60,7 @@ string getSessionKey() { return key; } -void parseArgument(const string& arg, int &dayNum, bool &useTestInput, int &testFetchIndex){ +void parseArgument(const string &arg, int &dayNum, bool &useTestInput, int &testFetchIndex) { size_t tIndex = arg.find('T'); if (tIndex == string::npos) { dayNum = stoi(arg); diff --git a/src/util.cpp b/src/util.cpp index b51e3b0..d383250 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,11 +1,11 @@ #include "util.h" -vector findAll(const string& data, const string& toSearch){ +vector findAll(const string &data, const string &toSearch) { vector indices; size_t pos = data.find(toSearch); - while (pos != string::npos){ + while (pos != string::npos) { indices.push_back(pos); pos = data.find(toSearch, pos + toSearch.size()); @@ -14,17 +14,17 @@ vector findAll(const string& data, const string& toSearch){ return indices; } -void removeAll(string& data, const string& toRemove) { +void removeAll(string &data, const string &toRemove) { vector indices = findAll(data, toRemove); std::sort(indices.rbegin(), indices.rend()); - for (size_t &i : indices) + for (size_t &i: indices) data.erase(i, toRemove.size()); } -vector split(const string& data, const char c){ +vector split(const string &data, const char c) { vector parts; size_t start = 0; - for (size_t i : findAll(data, std::string(1, c))){ + for (size_t i: findAll(data, std::string(1, c))) { parts.push_back(data.substr(start, i - start)); start = i + 1; } @@ -32,16 +32,16 @@ vector split(const string& data, const char c){ return parts; } -bool isDigit(char c, uint8_t& result){ +bool isDigit(char c, uint8_t &result) { auto val = c - '0'; - if (val >= 0 && val < 10){ + if (val >= 0 && val < 10) { result = val; return true; } return false; } -bool isDigit(char c){ +bool isDigit(char c) { auto val = c - '0'; return val >= 0 && val < 10; } \ No newline at end of file diff --git a/src/util.h b/src/util.h index c64eec6..dd82d06 100644 --- a/src/util.h +++ b/src/util.h @@ -20,12 +20,12 @@ using std::string, std::vector, std::pair, std::map; using std::list, std::set, std::unordered_set; using std::priority_queue; -vector findAll(const string& data, const string& toSearch); +vector findAll(const string &data, const string &toSearch); -void removeAll(string& data, const string& toRemove); +void removeAll(string &data, const string &toRemove); -vector split(const string& data, char c); +vector split(const string &data, char c); -bool isDigit(char c, uint8_t& result); +bool isDigit(char c, uint8_t &result); bool isDigit(char c); \ No newline at end of file