예제 #1
0
파일: Remove.py 프로젝트: alisonhc/Sudoku
def generate_sudoku(difficulty):
    return remove_numbers(Generation.make_full_grid(3), difficulty)
예제 #2
0
파일: Times.py 프로젝트: alisonhc/Sudoku
    ftime = timel / 100.0
    return ftime


def solve_timing(glist):
    timel = 0.0
    for x in glist:
        start = time.time()
        Solving.solve_grid(x)
        end = time.time()
        timel = timel + (end - start)
    ftime = timel / 100.0
    return ftime


def constraint_solve_timing(glist):
    timel = 0.0
    for x in glist:
        start = time.time()
        SolveConstraintPropagation.constraint_solve(x)
        end = time.time()
        timel = timel + (end - start)
    ftime = timel / 100.0
    return ftime

grids = [Generation.make_full_grid(3) for x in range(0, 500)]

print("Remove time: " + str(remove_timing(copy.deepcopy(grids))))
print("RecursiveRemove time: " + str(rec_remove_timing(copy.deepcopy(grids))))
print("Solving time: " + str(solve_timing(copy.deepcopy(grids))))
print("SolveConstraintPropagation: " + str(constraint_solve_timing(copy.deepcopy(grids))))
예제 #3
0
def rec_generate_sudoku(difficulty):
    grid = Generation.make_full_grid(3)
    additions = random.randint(min_remove(difficulty), max_remove(difficulty))
    return rec_remove_numbers(grid, additions, 0, lowerbound(difficulty), [x for x in range(0, 9)], [x for x in range(0, 9)], [])