/// <summary> /// Két naprendszer összekötő útat keres meg /// </summary> /// <param name="startSystem"></param> /// <param name="endSystem"></param> /// <returns>Az útvonal elemeinek a listájával tér vissza</returns> public List <SolarSystem> FindWay(SolarSystem startSystem, SolarSystem endSystem) { List <SolarSystem> path = new List <SolarSystem>(); AbsztraktAllapot Szk = new SolarSystemAllapot(startSystem, endSystem, game.Systems); GrafKereso Gk = new BackTrack(5); Csucs celcsucs = Gk.Keres(new Csucs(Szk)); if (celcsucs == null) { Debug.Log("Nemjó"); } else { Csucs cs = celcsucs; path.Add(cs.allapot.getCurrentSolarSystem()); while (cs != null) { cs = cs.Szulo; path.Add(cs.allapot.getCurrentSolarSystem()); } } return(path); }
static void Main(string[] args) { for (int i = 1; i < 6; i++) { BackTrack backTrack = new BackTrack(); int[,] table = Common.getMatrix(Common.readDat("data/input_assign04_0" + i + ".txt")); Console.WriteLine("第" + i + "组数据结果为:"); backTrack.setTable(table); backTrack.backTrack(0); backTrack.display(); Console.WriteLine("\n"); } Console.ReadKey(); }
public SimpleBackTrackCSP(Vector2Int[] operators, Vector2Int BoardSize, BaseGuessor Guessor, float MineDensity, int MaxSolvingLength) : base(operators, BoardSize, Guessor, MineDensity, MaxSolvingLength) { bruteforce = new BackTrack(Closed, HiddenClosedRelations, ClosedHiddenNeighbores); }