private static void readFromConsole() { var solver = new Solver2(); var line1 = System.Console.ReadLine().Trim().Split(' '); var H = Int32.Parse(line1[0]); var W = Int32.Parse(line1[1]); var fields = new String[H]; for (var i = 0; i < H; ++i) { var line = System.Console.ReadLine().Trim(); fields[i] = line; } var line2 = System.Console.ReadLine().Trim(); var N = Int32.Parse(line2); var widgets = new Widget[N]; for(var i = 0; i < N; ++i) { var line = System.Console.ReadLine().Trim().Split(' '); var S = Int32.Parse(line[0]); var T = Int32.Parse(line[1]); widgets[i] = new Widget(S, T); } var answers = solver.solve(fields, widgets); foreach(int answer in answers) System.Console.WriteLine(answer); }
private static void readFromSource() { var solver = new Solver2(); var answers = solver.solve(new string[]{"1000", "1101", "1001", "1111"}, new Widget[]{new Widget(1, 2), new Widget(2, 3), new Widget(2, 1)}); foreach(int answer in answers) System.Console.WriteLine(answer); }
public void ReturnsSolution() { var solver = new Solver2(); var result = solver.SumEvenSequenceUpTo(4000000); Assert.Equal(1, result); }
public void T2(string file) { var fileInput = file.Read(); var input = new TerrainInput2().Parse(fileInput); var solution = new Solver2().Solve(input); file.Write(solution.ToString()); Assert.Pass(); }
public void Solver2(string example) { var content = example.ReadFromFile(); var solver = new Solver2(); var input = Input.Parse(content); var output = solver.Solve(input); Console.WriteLine($"Total Score: {output.GetScore(input):N0}"); example.WriteToFile(output.GetOutputFormat()); Assert.Pass(); }
public ActionResult <SolveResult> Solve(int target, List <int> chosenNums) { if (chosenNums.Count == 0 || chosenNums.Count > 8) { return(BadRequest("Must provide between 1 and 8 numbers")); } var solver = new Solver2(target, chosenNums); return(solver.Solve()); }
public void CanFindExactSolutions(int target, List <int> availableNums) { // Assemble var solver = new Solver2(target, availableNums); // Act var result = solver.Solve(); // Assert Assert.Equal(0, result.ClosestDiff); Assert.NotEmpty(result.Solutions); }
public void WorksWhenSolutionIsAlreadyInAvailableNumbers() { // Assemble var availableNums = new List <int> { 1, 2, 3, 4, 5, 100 }; var solver = new Solver2(100, availableNums); // Act var result = solver.Solve(); // Assert Assert.Equal(0, result.ClosestDiff); Assert.NotEmpty(result.Solutions); }
public void CanFindClosestSolutions() { // Assemble var availableNums = new List <int> { 2, 3, 4, 5, 8, 10 }; var solver = new Solver2(933, availableNums); // Act var result = solver.Solve(); // Assert Assert.Equal(1, result.ClosestDiff); Assert.Equal(2, result.Solutions.Count); }
public void DoesntMissSimplerSolutions() { // Assemble var availableNums = new List <int> { 1, 2, 3, 4, 5, 6 }; var solver = new Solver2(8, availableNums); // Act var result = solver.Solve(); // Assert Assert.Equal(0, result.ClosestDiff); Assert.Contains("4 × 2 = 8", result.Solutions); Assert.Contains("5 + 3 = 8", result.Solutions); }