static void Main(string[] args) { var graph = new Graph(); var a = graph.CreateRoot(1); var b = graph.CreateVertex(2); var c = graph.CreateVertex(3); var d = graph.CreateVertex(4); var e = graph.CreateVertex(5); var f = graph.CreateVertex(6); var g = graph.CreateVertex(7); //var h = graph.CreateVertex(8); //var i = graph.CreateVertex(9); //var j = graph.CreateVertex(10); //var k = graph.CreateVertex(11); //var l = graph.CreateVertex(12); //var m = graph.CreateVertex(13); //var n = graph.CreateVertex(14); //var o = graph.CreateVertex(15); //var p = graph.CreateVertex(16); graph.InsertVertex(a); graph.InsertVertex(b); graph.InsertVertex(c); graph.InsertVertex(d); graph.InsertVertex(e); graph.InsertVertex(f); graph.InsertVertex(g); //graph.InsertVertex(h); //graph.InsertVertex(i); //graph.InsertVertex(j); //graph.InsertVertex(k); //graph.InsertVertex(l); //graph.InsertVertex(m); //graph.InsertVertex(n); //graph.InsertVertex(o); //graph.InsertVertex(p); //graph.LinkVertex(a, b); //graph.LinkVertex(a, c); //graph.LinkVertex(b, e); //graph.LinkVertex(b, d); //graph.LinkVertex(c, f); //graph.LinkVertex(c, d); //graph.LinkVertex(d, h); //graph.LinkVertex(e, g); //graph.LinkVertex(e, h); //graph.LinkVertex(f, h); //graph.LinkVertex(f, i); //graph.LinkVertex(g, j); //graph.LinkVertex(g, l); //graph.LinkVertex(h, j); //graph.LinkVertex(h, k); //graph.LinkVertex(h, m); //graph.LinkVertex(i, k); //graph.LinkVertex(i, n); //graph.LinkVertex(j, o); //graph.LinkVertex(k, p); //graph.LinkVertex(l, o); //graph.LinkVertex(m, o); //graph.LinkVertex(m, p); //graph.LinkVertex(n, p); graph.LinkVertex(a, b, 12); graph.LinkVertex(a, c, 10); graph.LinkVertex(b, c, 3); graph.LinkVertex(b, d, 9); graph.LinkVertex(b, e, 6); graph.LinkVertex(c, f, 20); graph.LinkVertex(d, e, 2); graph.LinkVertex(d, f, 4); graph.LinkVertex(e, g, 23); graph.LinkVertex(f, g, 14); var cost = graph.ShortestPath(a); //var edges = graph.findMinSpanningTree(); var edges = graph.FindMinSpanTree(); while (graph.ThrowGrenade()) { Console.WriteLine("Throwing"); } int steps = graph.Bfs(3); //Console.WriteLine(steps); }