using System.Collections.Generic;
private static void Main(string[] args)
var path = new List<Ride>();
var lines = File.ReadAllLines(args[0]);
foreach (var line in lines)
var data = line.Split(' ');
int.TryParse(data[0], out rows);
int.TryParse(data[1], out columns);
int.TryParse(data[2], out vehicles);
int.TryParse(data[3], out rides);
int.TryParse(data[4], out bonus);
int.TryParse(data[5], out steps);
StartIntersection = new Tuple<int, int>(int.Parse(data[0]), int.Parse(data[1])),
FinishIntersection = new Tuple<int, int>(int.Parse(data[2]), int.Parse(data[3])),
EarliestStart = int.Parse(data[4]),
LatestFinish = int.Parse(data[5]),
Distance = Math.Abs(int.Parse(data[0]) - int.Parse(data[2])) +
Math.Abs(int.Parse(data[1]) - int.Parse(data[3])),
path = path.OrderBy(o => o.LatestFinish)
.ThenBy(o => o.EarliestStart).ToList();
public Tuple<int, int> StartIntersection { get; set; }
public Tuple<int, int> FinishIntersection { get; set; }
public int EarliestStart { get; set; }
public int LatestFinish { get; set; }
public int Distance { get; set; }
public bool Taken { get; set; }