def test_both_7(self): mat = [[4,0,2,0,4],[0,1,0,2,1],[3,2,1,1,2],[4,1,1,0,0],[3,3,2,3,4],[4,4,1,0,1]] solve.eliminate(mat, [3,1]) self.assertEqual(mat, [[1,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0]]) mat = [[4,0,2,0,4],[0,1,0,2,1],[3,2,1,1,2],[4,1,1,0,0],[3,3,2,3,4],[4,4,1,0,1]] solve.eliminate_simu(mat, [3,1]) self.assertEqual(mat, [[1,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0]])
def test_both_3(self): mat = [[0,0,0,0,0],[0,1,0,1,0],[1,1,0,1,1],[0,2,0,2,0],[0,1,0,1,0],[0,0,0,0,0]] solve.eliminate(mat, [2,1]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]) mat = [[0,0,0,0,0],[0,1,0,1,0],[1,1,0,1,1],[0,2,0,2,0],[0,1,0,1,0],[0,0,0,0,0]] solve.eliminate_simu(mat, [2,1]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]])
def test_both_5(self): mat = [[1, 0, 1, 0, 1], [2,0,1,0,2],[2,0,1,0,2],[2,0,1,0,2],[2,0,1,0,2],[2,3,1,3,2]] solve.eliminate(mat, [3,2]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,2,0,2,1]]) mat = [[1, 0, 1, 0, 1], [2,0,1,0,2],[2,0,1,0,2],[2,0,1,0,2],[2,0,1,0,2],[2,3,1,3,2]] solve.eliminate_simu(mat, [3,2]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[1,2,0,2,1]])
def test_both_2(self): mat = [[1,2,1,1,2],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]] solve.eliminate(mat, [0,3]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]) mat = [[1,2,1,1,2],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]] solve.eliminate_simu(mat, [0,3]) self.assertEqual(mat, [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]])
def print_sol(mat, sol): mat = copy.deepcopy(mat) rows = len(mat) cols = len(mat[0]) for r in mat: print r print '' for i,j in sol: op = [[0 for _j in range(cols)] for _i in range(rows)] op[i][j] = [(1,0)] print i,j print '' solve.eliminate(mat, op) for r in mat: print r print ''