Add day 7

This commit is contained in:
2022-12-08 15:51:52 +01:00
parent 489ecc6d8d
commit 5d6835b2e6
3 changed files with 1281 additions and 2 deletions

20
EnumerableExtensions.cs Normal file
View File

@@ -0,0 +1,20 @@
namespace AdventOfCode;
public static class EnumerableExtensions
{
public static IEnumerable<TSource> Flatten<TSource>(this TSource root, Func<TSource, IEnumerable<TSource>> flattener)
{
var toVisit = new Stack<TSource>();
toVisit.Push(root);
while (toVisit.TryPop(out var node))
{
yield return node;
foreach (var child in flattener(node))
{
toVisit.Push(child);
}
}
}
}