private static Map ParseMap() { var map = new Map(); var lines = File.ReadAllLines("input.txt"); foreach (var line in lines) { string city1Name; string city2Name; int distance; ParseLine(line, out city1Name, out city2Name, out distance); var city1 = map.GetByName(city1Name); if (city1 == null) { city1 = new City(city1Name); map.Cities.Add(city1); } var city2 = map.GetByName(city2Name); if (city2 == null) { city2 = new City(city2Name); map.Cities.Add(city2); } city1.Roads.Add(new RoadTo(city2, distance)); city2.Roads.Add(new RoadTo(city1, distance)); } return map; }