public void METHOD() { var list = Storage.GetSingleMeta(255).Select( solutionMeta => { if (!string.IsNullOrEmpty(solutionMeta.BuyBlob)) { return(null); } var solved = Emulator.ParseSolved(solutionMeta.SolutionBlob, solutionMeta.BuyBlob); if (solved.Actions.Any(aa => aa.Any(a => a is UseDrill || a is UseFastWheels))) { return(null); } return(new { solutionMeta, solved }); }) .Where(x => x != null) .ToList(); var selected = list .OrderBy(x => x.solutionMeta.OurTime) .DistinctBy(x => x.solutionMeta.OurTime) .Where(x => x.solutionMeta.AlgorithmId.Contains("spread-clone")) .Take(10) .ToList(); foreach (var sss in selected // .Where(x => x.solutionMeta.OurTime == 2217) ) { Save(sss.solved, sss.solutionMeta.ProblemId, "-original" + sss.solved.CalculateTime()); var state = ProblemReader.Read(sss.solutionMeta.ProblemId).ToState(); Emulator.Emulate(state, sss.solved); var postprocessor = new PostprocessorSimple(state, sss.solved); postprocessor.TransferSmall(); var buildSolved = state.History.BuildSolved(); Console.Out.WriteLine($"current: {sss.solved.CalculateTime()}, processed: {buildSolved.CalculateTime()}"); Save(buildSolved, sss.solutionMeta.ProblemId, "-fixed" + buildSolved.CalculateTime()); state = ProblemReader.Read(sss.solutionMeta.ProblemId).ToState(); Emulator.Emulate(state, buildSolved); if (state.UnwrappedLeft > 0) { throw new InvalidOperationException("Bad mother f****r!"); } } }
public void StupidOne1() { /* * Original: 3893 * Modified: 3385 */ var id = 96; var solver = new StupidSolver(palka: false); var state = ReadFromFile(id); var result = solver.Solve(state); Console.WriteLine($"Original: {result.CalculateTime()}"); Save(result, id, "original"); var postprocessor = new PostprocessorSimple(state, result); postprocessor.TransferSmall(); var modified = state.History.BuildSolved(); Console.WriteLine($"Modified: {modified.CalculateTime()}"); Save(modified, id); }