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); }
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); }