public void Simple2X2Grid() { /* * 10 * 01 * */ var rows = new[] { new[] { 1 }, new[] { 1 } }; var columns = new[] { new[] { 1 }, new[] { 1 } }; var board = new[] { "1.", ".." }; var solverOuter = new Solver(); var result = solverOuter.Solve(new ProblemDefinition(rows, columns, board)); Console.Write(string.Join(Environment.NewLine, result.GridPartialSolution.DrawSolution())); Assert.That(result.Solved, Is.True); }
public void GchqProblem() { var rows = new[] { new [] { 7,3,1,1,7 }, new [] { 1,1,2,2,1,1 }, new [] { 1,3,1,3,1,1,3,1 }, new [] { 1,3,1,1,6,1,3,1 }, new [] { 1,3,1,5,2,1,3,1 }, new [] { 1,1,2,1,1 }, new [] { 7,1,1,1,1,1,7 }, new [] { 3,3 }, new [] { 1,2,3,1,1,3,1,1,2 }, new [] { 1,1,3,2,1,1 }, new [] { 4,1,4,2,1,2 }, new [] { 1,1,1,1,1,4,1,3 }, new [] { 2,1,1,1,2,5 }, new [] { 3,2,2,6,3,1 }, new [] { 1,9,1,1,2,1 }, new [] { 2,1,2,2,3,1 }, new [] { 3,1,1,1,1,5,1 }, new [] { 1,2,2,5 }, new [] { 7,1,2,1,1,1,3 }, new [] { 1,1,2,1,2,2,1 }, new [] { 1,3,1,4,5,1 }, new [] { 1,3,1,3,10,2 }, new [] { 1,3,1,1,6,6 }, new [] { 1,1,2,1,1,2 }, new [] { 7,2,1,2,5 } }; var columns = new[] { new [] { 7,2,1,1,7 }, new [] { 1,1,2,2,1,1 }, new [] { 1,3,1,3,1,3,1,3,1 }, new [] { 1,3,1,1,5,1,3,1 }, new [] { 1,3,1,1,4,1,3,1 }, new [] { 1,1,1,2,1,1 }, new [] { 7,1,1,1,1,1,7 }, new [] { 1,1,3 }, new [] { 2,1,2,1,8,2,1 }, new [] { 2,2,1,2,1,1,1,2 }, new [] { 1,7,3,2,1 }, new [] { 1,2,3,1,1,1,1,1 }, new [] { 4,1,1,2,6 }, new [] { 3,3,1,1,1,3,1 }, new [] { 1,2,5,2,2 }, new [] { 2,2,1,1,1,1,1,2,1 }, new [] { 1,3,3,2,1,8,1 }, new [] { 6,2,1 }, new [] { 7,1,4,1,1,3 }, new [] { 1,1,1,1,4 }, new [] { 1,3,1,3,7,1 }, new [] { 1,3,1,1,1,2,1,1,4 }, new [] { 1,3,1,4,3,3 }, new [] { 1,1,2,2,2,6,1 }, new [] { 7,1,3,2,1,1 } }; var board = new [] { ".........................", ".........................", ".........................", "...11.......11.......1...", ".........................", ".........................", ".........................", ".........................", "......11..1...11..1......", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", ".........................", "......1....1....1...1....", ".........................", ".........................", ".........................", ".........................", "...11....11....1....11...", ".........................", ".........................", ".........................", }; var solverOuter = new Solver(); var result = solverOuter.Solve(new ProblemDefinition(rows, columns, board)); if (!result.Solved) { throw new Exception("Grid not solved"); } Console.Write(string.Join(Environment.NewLine, result.GridPartialSolution.DrawSolution())); Assert.That(result.Solved, Is.True); }