//[TestCase("218")] public void Sequential(string problemIds) { var solver = new DeepWalkSolver(2, new Estimator(collectFastWheels: true, zakoulochki: true, collectDrill: true), usePalka: true, useWheels: true, useDrill: true); foreach (var problemId in problemIds.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse)) { var solved = SolveOneProblem(solver, problemId); Console.Out.WriteLine($"{problemId:000}: solvedTime: {solved.CalculateTime()}"); } }
//[TestCase("218")] public void Compare(string problemIds) { var parallelSolver = new ParallelDeepWalkSolver(2, new Estimator(collectFastWheels: true, zakoulochki: true, collectDrill: false), usePalka: false, useWheels: true, useDrill: false, new BoosterType[0]); var solver = new DeepWalkSolver(2, new Estimator(collectFastWheels: true, zakoulochki: true, collectDrill: true), usePalka: true, useWheels: true, useDrill: true); foreach (var problemId in problemIds.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse)) { var solved = SolveOneProblem(solver, problemId); var parallelSolved = SolveOneProblem(parallelSolver, problemId); var win = parallelSolved.CalculateTime() < solved.CalculateTime() ? "P" : "S"; Console.Out.WriteLine($"{problemId:000}: {win} - solvedTime: {solved.CalculateTime()}; parallelSolvedTime: {parallelSolved.CalculateTime()};"); } }
public void Emulate() { var solver = new DeepWalkSolver(2, new Estimator(true, true, collectDrill: true), usePalka: true, useWheels: true, useDrill: true); var state = ReadFromFile(2); var result = solver.Solve(state); var readFromFile = ReadFromFile(2); Emulator.Emulate(readFromFile, result); readFromFile.History.Should().BeEquivalentTo(state.History); }
public void SolveOne() { var solver = new DeepWalkSolver(2, new Estimator(true, true, collectDrill: true), usePalka: true, useWheels: true, useDrill: true); SolveOneProblem(solver, 2); }