Add solution for 2016 Day 23

This commit is contained in:
Thraix committed 2026-09-04 18:37:21 +02:00
1 parent bec8be80a3
commit edc2fd0b6c
3 files changed
+193 -8

No files matched your search

+11
View File
@@ -11,6 +11,7 @@
#include <map>
#include <numeric>
#include <set>
#include <variant>
#include <vector>
#include "Array2D.h"
@@ -33,6 +34,9 @@ static std::ostream& operator<<(std::ostream& stream, const std::map<T, S>& cont
template <typename T, typename S>
static std::ostream& operator<<(std::ostream& stream, const std::pair<T, S>& pair);
template <typename Arg1, typename Arg2, typename... Args>
static std::ostream& operator<<(std::ostream& stream, const std::variant<Arg1, Arg2, Args...>& variant);
struct Helper
{
struct ScopedTraceErrorDisabler
@@ -639,3 +643,10 @@ static std::ostream& operator<<(std::ostream& stream, const std::pair<T, S>& pai
{
return stream << "(" << pair.first << ", " << pair.second << ")";
}
template <typename Arg1, typename Arg2, typename... Args>
static std::ostream& operator<<(std::ostream& stream, const std::variant<Arg1, Arg2, Args...>& variant)
{
std::visit([&stream](const auto& value) { stream << value; }, variant);
return stream;
}