Example #1
0
        static void Main(string[] args)
        {
            var grid = Grid2d.Parse(Properties.Resources.GridP11);

            var allPaths = new IEnumerable <int[]>[] {
                GetHorizontalPaths(grid),
                GetVerticalPaths(grid),
                GetDiagonalNESWPaths(grid),
                GetDiagonalNWSEPaths(grid)
            }.SelectMany(e => e);

            var result = allPaths.Select(
                path => path[0] * path[1] * path[2] * path[3]
                ).Max();

            Console.WriteLine(result);

            Console.ReadLine();
        }