Exemplo n.º 1
0
        public async Task <long> Part2(string input = null)
        {
            var lines = await File.ReadAllLinesAsync("inputs\\20.txt");

            var blocks = SplitExtension.Split(lines, "");
            var tiles  = blocks.Select(b => new Tile(b.ToList())).ToList();

            var neighbours = tiles.Select(t => t.PotentialNeighbours(tiles));
            var edges      = tiles.Where(t => t.PotentialNeighbours(tiles).ToList().Count(x => x == 0) >= 1);

            // edges.Count().Should().Be(44);

            var megaTile = new MegaTile(tiles);

            return(IterateMegaTilePart2(megaTile));
        }
Exemplo n.º 2
0
 private static long IterateMegaTilePart2(MegaTile megaTile)
 {
     var operationOrder = new[]