Skip to content

benjaminbuzeta10/proyecto-B_B

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proyecto-B_B

un parrafo otro parrafo

parece que otro parrafo

  • el item
  • el otro item
    
  • otra wea

imagen de gato xd

imagen de gato xd

imagen de gato xd

# solo imprime (ignorar)
def print_grid(arr):
    for i in range(9):
        for j in range(9):
            print(arr[i][j], end=" ")
        print()


def find_empty_location(arr, l):
    for row in range(9):
        for col in range(9):
            if(arr[row][col] == 0):
                l[0]= row
                l[1]= col
                return True
    return False
 
def used_in_row(arr, row, num):
    for i in range(9):
        if(arr[row][i] == num):
            return True
    return False
 
def used_in_col(arr, col, num):
    for i in range(9):
        if(arr[i][col] == num):
            return True
    return False
 


#  el importante
def used_in_box(arr, row, col, num):
    for i in range(3):
        for j in range(3):
            if(arr[i + row][j + col] == num):
                return True
    return False
 
def check_location_is_safe(arr, row, col, num):
    return not used_in_row(arr, row, num) and not used_in_col(arr, col, num) and not used_in_box(arr, row - row % 3, col - col % 3, num)
 
def solve_sudoku(arr):
    # 'l' is a list variable that keeps the
    # record of row and col in
    # find_empty_location Function   
    l =[0, 0]
 
    # If there is no unassigned
    # location, we are done   
    if(not find_empty_location(arr, l)):
        return True
    
    # Assigning list values to row and col
    # that we got from the above Function
    row = l[0]
    col = l[1]
    
    # consider digits 1 to 9
    for num in range(1, 10):
        # if looks promising
        if(check_location_is_safe(arr, row, col, num)):
            # make tentative assignment
            arr[row][col]= num
 
            # return, if success,
            # ya !
            if(solve_sudoku(arr)):
                return True
            
            # failure, unmake & try again
            arr[row][col] = 0
            
    # this triggers backtracking       
    return False
 
# Driver main function to test above functions
if __name__=="__main__":
    # creating a 2D array for the grid
    grid =[[0 for x in range(9)]for y in range(9)]
    
    # assigning values to the grid
    grid =[[3, 0, 6, 5, 0, 8, 4, 0, 0],
          [5, 2, 0, 0, 0, 0, 0, 0, 0],
          [0, 8, 7, 0, 0, 0, 0, 3, 1],
          [0, 0, 3, 0, 1, 0, 0, 8, 0],
          [9, 0, 0, 8, 6, 3, 0, 0, 5],
          [0, 5, 0, 0, 9, 0, 6, 0, 0],
          [1, 3, 0, 0, 0, 0, 2, 5, 0],
          [0, 0, 0, 0, 0, 0, 0, 7, 4],
          [0, 0, 5, 2, 0, 6, 3, 0, 0]]
     
    # if success print the grid
    if(solve_sudoku(grid)):
        print_grid(grid)
    else:
        print("No solution exists")
 

Releases

No releases published

Packages

No packages published

Languages