Esempio n. 1
0
def solve(data):
    SOLUTION = ' ' * 81
    solver = BacktrackingSolver()
    # data = "XX3X2X6XX9XX3X5XX1XX18X64XXXX81X29XX7XXXXXXX8XX67X82XXXX26X95XX8XX2X3XX9XX5X1X3XX"
    layer = Layer(data, SOLUTION)

    sol = solver.solve(layer)

    d = list(data)
    for s in sol:
        d[s[0]] = s[1]

    return int("".join(d[:3]))
Esempio n. 2
0
def solve(data):
  SOLUTION = ' ' * 81
  solver = BacktrackingSolver()
  # data = "XX3X2X6XX9XX3X5XX1XX18X64XXXX81X29XX7XXXXXXX8XX67X82XXXX26X95XX8XX2X3XX9XX5X1X3XX"
  layer = Layer(data, SOLUTION)

  sol = solver.solve(layer)

  d = list(data)
  for s in sol:
    d[s[0]] = s[1]

  return int("".join(d[:3]))
Esempio n. 3
0
    def test_solver(self):
        solver = BacktrackingSolver([LineBlockPreprocessor])

        data = 'XX4XXX62X76X12X8XXX2XXXX1X74XX9X136223X4X' \
               '65916913524789X3XXX2XX876245913X42XXX7XX'

        layer = Layer(data, SOLUTION)

        self.assertEquals(solver.solve(layer), [
            [4, '3'], [0, '5'], [8, '9'], [11, '9'], [14, '4'], [17, '5'],
            [16, '3'], [18, '3'], [20, '8'], [1, '1'], [23, '9'], [22, '6'],
            [21, '5'], [25, '4'], [38, '7'], [29, '5'], [28, '8'], [31, '7'],
            [40, '8'], [55, '5'], [58, '1'], [61, '8'], [59, '7'], [5, '8'],
            [3, '7'], [57, '6'], [62, '4'], [72, '1'], [75, '8'], [76, '9'],
            [77, '3'], [79, '5'], [80, '6']])