import is_goal






def maze_opt(path):
    """maze search heuristic going to have to use the euclidian distance, so it works for any maze"""
    state = path[-1]
    return (is_goal.MAZE_GOAL[0] - state[0])**2 + (is_goal.MAZE_GOAL[1] - state[1])**2


def puzzle_opt(path):
    pass


def sudoku_opt(path):
    # state = path[-1]
    # box_value, row_value, col_value = 0, 0, 0
    # # check each box to see the least empty
    # for down in range(0, 9, 3):
    #     for across in range(0, 9, 3):
    #         box_value += 9 - ()
    #     box_value = 0
    #
    # # check each row for the one with the least zeros
    # row_value = 0
    #
    # # check each column for the one with the least zeros
    # col_value = 0

    pass


def queens_opt(path):
    pass