def solve( grid, index, total ): # Função para resolver o sudoku proposto, com a implementação do algoritmo de AC-3 inicio = time.time() sudoku = Sudoku(grid) print("\n Sudoku \n") print("{}".format(sudoku.__str1__(grid))) print("\nAC3 iniciou") AC3_result = AC3(sudoku) if not AC3_result: print("\nEste Sudoku não tem solução") else: if sudoku.terminou(): print( "\n\033[32mAC3 é suficiente para resolver o Sudoku!\033[0;0m") print("\nSolução: \n\n{}".format(sudoku.__str2__())) for cel in sudoku.celulas: val = sudoku.possibilidades[cel] value.append(val[0]) fim = time.time() timeExec = round((fim - inicio), 3) print("Tempo de Execução: " + str(timeExec) + " s") return str(timeExec) else: print("\033[33mEste Sudoku não tem resultado com o AC3\033[0;0m")