Răsfoiți Sursa

fix state count display

Eren Yilmaz 6 ani în urmă
părinte
comite
a0ee1a3eeb
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      python/solve.py

+ 6 - 2
python/solve.py

@@ -1,3 +1,5 @@
+import itertools
+
 from graphviz import Digraph
 
 from chess_state import ChessState
@@ -19,6 +21,8 @@ class Solver:
         self.states[0].append(self.starting_state)
 
     def solvable(self, state):
+        if (self.board_size * self.board_size - 1) % 3 != 0:
+            return False
         bricks_on_field = len(state.history())
         current_id = (bricks_on_field, len(self.states[bricks_on_field]) - 1)
 
@@ -63,10 +67,10 @@ class Solver:
 
 
 if __name__ == '__main__':
-    s = Solver(board_size=14)
+    s = Solver(board_size=11)
     proof.node(name=state_id(0), label=s.starting_state.board_label())
     result = s.solvable(s.starting_state)
     print('solvable:', result)
     print('steps:', s.steps)
-    print('states:', len(s.states))
+    print('states:', len(list(itertools.chain.from_iterable(s.states))))
     proof.render(f'img/proof.gv', view=False)