using System; using System.Diagnostics; using System.IO; using Graph; using Graph.IO; using Interfaces; namespace TSP { using Map = Graph, double>, Edge, double>; class Program { // https://swharden.com/CsharpDataVis/drawing/3-drawing-in-wpf.md.html static void Main(string[] args) { foreach (string file in Directory.GetFiles("graphs/")) { Map graph = GraphFile.Read(new FileReader(file)); // Graph mst = graph.MST(0); // GraphFile.Print(mst, new ConsoleWriter()); // Console.WriteLine( // graph.Vertices.Sum(vertex => // vertex.Edges.FirstOrDefault(edge => edge.V == vertex.Parent).Weight)); Tour bruteForce = TSP.BruteForce(graph, 0); Debug.WriteLine(bruteForce); // mst.Vertices.ForEach(vertex => // { // Console.Write($"{vertex.Id}"); // vertex.Edges.ForEach(edge => Console.Write($" {edge.V} {edge.Weight.ToString("F1")}")); // Console.WriteLine(); // }); // Console.WriteLine(mst.Vertices // .Sum(vertex => vertex.Edges // .FirstOrDefault(edge => edge.V == vertex.Parent).Weight)); } } } class ConsoleWriter : IFileWriter { public void WriteAllLines(string[] lines) => Array.ForEach(lines, line => Debug.WriteLine(line)); } }