Пример #1
0
        public static Triangle Read(List <int[]> lines, int currentLine, int currentPos, int size)
        {
            Triangle t = new Triangle(lines[currentLine][currentPos]);

            if (size == 1)
            {
                return(t);
            }
            t.left  = Triangle.Read(lines, currentLine + 1, currentPos, size - 1);
            t.right = Triangle.Read(lines, currentLine + 1, currentPos + 1, size - 1);

            return(t);
        }
Пример #2
0
        public object GetResult()
        {
            List <int[]> lines = new List <int[]>();

            using (StreamReader sr = File.OpenText("Resources\\Problem018.txt"))
                while (!sr.EndOfStream)
                {
                    lines.Add(sr.ReadLine().Split().Select(s => int.Parse(s)).ToArray());
                }

            Triangle t1   = Triangle.Read(lines, 0, 0, lines.Count);
            int      sum1 = GetTriangleMaxSum(t1);

            return(sum1);
        }