public static long Solve(long nodeCount, long[][] edges, long startNode, long endNode) { Graph g = new Graph(nodeCount, edges); for (long i = 0; i < edges.Length; i++) { g.addEdge(edges[i][0] - 1, edges[i][1] - 1, edges[i][2]); } return(g.Dijkstra(startNode - 1, endNode - 1)); }
static void Main(string[] args) { int nodes = 5; Graph dijkstra = new Graph(nodes); dijkstra.addEdge(0, 1, 1); dijkstra.addEdge(0, 2, 7); dijkstra.addEdge(1, 2, 5); dijkstra.addEdge(1, 4, 4); dijkstra.addEdge(4, 3, 2); dijkstra.addEdge(2, 3, 6); int distance = dijkstra.minmumDistanceBtwTwoNodes(0, 3); Console.WriteLine(distance); }
static void Main(string[] args) { StreamReader sr = new StreamReader("input.txt"); StreamWriter sw = new StreamWriter("output.txt"); var tmp = sr.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); int n = int.Parse(tmp[0]); int m = int.Parse(tmp[1]); Graph graph = new Graph(n); int vertexS, vertexE, weight; while (!sr.EndOfStream) { var buf = sr.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); vertexS = int.Parse(buf[0]); vertexE = int.Parse(buf[1]); weight = int.Parse(buf[2]); graph.addEdge(vertexS - 1, vertexE - 1, weight); } if (graph._vertices.Count == 0) { sw.Write(0); } else { Dijkstra dijkstra = new Dijkstra(graph); int res = dijkstra.solve(0, n - 1); sw.Write(res); } sw.Close(); }