public static void Main()
        {
            var initMap = new Map();

            Console.WriteLine("Podaj miasto startowe: ");
            var startCity = Console.ReadLine();

            Console.WriteLine("Podaj miasto docelowe: ");
            var         destinyCity = Console.ReadLine();
            var         problem     = new MapOfRomania(initMap, startCity, destinyCity);
            Node <City> result;

            Console.WriteLine("\nRozwiązywanie za pomocą Stosu...");
            var stackSolution = new StackFringe <Node <City> >();
            var stoper        = Stopwatch.StartNew();

            result = TreeSearch <City> .TreeSearchMetod(problem, stackSolution, Method.Stack);

            stoper.Stop();
            DisplaySolution(problem, result, stoper);
            stoper.Reset();
            TreeSearch <City> .CountOfSteps = 0;

            Console.WriteLine("\nRozwiązywanie za pomocą kolejki...");
            var queueSolution = new QueueFringe <Node <City> >();

            stoper.Start();
            result = TreeSearch <City> .TreeSearchMetod(problem, queueSolution, Method.Queue);

            stoper.Stop();
            DisplaySolution(problem, result, stoper);
            stoper.Reset();
            TreeSearch <City> .CountOfSteps = 0;

            Console.WriteLine("\nRozwiązywanie za pomocą BestFirstSearch (odległość w linii prostej)...");
            var queuePrioritySolution = new PriorityQueueFringe <Node <City> >();

            stoper.Start();
            result = TreeSearch <City> .TreeSearchMetod(problem, queuePrioritySolution, Method.PriorityQueue);

            stoper.Stop();
            DisplaySolution(problem, result, stoper);
            stoper.Reset();
            TreeSearch <City> .CountOfSteps = 0;

            Console.WriteLine(
                "\nRozwiązywanie za pomocą A* (odległość w linii prostej, pokonana odległość, odległość krawędziowa)...");
            var aStarSolution = new PriorityQueueFringe <Node <City> >();

            stoper.Start();
            result = TreeSearch <City> .TreeSearchMetod(problem, aStarSolution, Method.AStar);

            stoper.Stop();
            DisplaySolution(problem, result, stoper);
            stoper.Reset();
            TreeSearch <City> .CountOfSteps = 0;
        }
 private static void DisplaySolution(MapOfRomania problem, Node <City> result, Stopwatch stoper)
 {
     Console.Beep();
     if (result == null)
     {
         Console.WriteLine("\nBrak rozwiązań!");
     }
     else
     {
         Console.WriteLine("Czas poszukiwania rozwiązania: " + stoper.Elapsed);//zmienna z czasem
         Console.WriteLine("Liczba kroków do znalezienia rozwiązania: " + TreeSearch <City> .CountOfSteps);
         Console.WriteLine("Otrzymana Droga:");
         result.ShowRoad(problem.ShowState);
         Console.WriteLine("---------------------------------------------------------------------------");
     }
 }