public IPuzzleOutput Solve() { var stopwatch = new Stopwatch(); stopwatch.Start(); IPuzzleOutput solverOutput = null; for (int i = 0; i < runXTimes; ++i) { solverOutput = _puzzleSolver.Solve(); } stopwatch.Stop(); return(new TimedPuzzleSolverOutput( output: solverOutput, timeMs: stopwatch.ElapsedMilliseconds )); }
public TimedPuzzleSolverOutput(IPuzzleOutput output, long timeMs) { _output = output; _timeMs = timeMs; }
public TwoPartPuzzleOutput(IPuzzleOutput part1, IPuzzleOutput part2) { this.part1 = part1; this.part2 = part2; }