Division and Recursion--fill chess board

 

import  unittest
title=0
def fill_chess_board(chess_board, chess_board_row,chess_board_column,
                     filled_block_row, filled_block_column, size):
 global title

 if (size == 1):
  return
 size = size//2
 title = title+1
 t = title
 print (size)

 if (filled_block_row < chess_board_row + size and filled_block_column < chess_board_column + size):
  fill_chess_board(chess_board, chess_board_row, chess_board_column, filled_block_row, filled_block_column, size)
 else:
  chess_board[chess_board_row + size - 1][chess_board_column + size - 1] = t
  fill_chess_board(chess_board, chess_board_row, chess_board_column, chess_board_row + size - 1, chess_board_column + size - 1, size)

 if (filled_block_row < chess_board_row + size and filled_block_column >= chess_board_column + size):
  fill_chess_board(chess_board, chess_board_row, chess_board_column + size, filled_block_row, filled_block_column, size)
 else:
  chess_board[chess_board_row + size-1][chess_board_column+size] = t
  fill_chess_board(chess_board, chess_board_row, chess_board_column+size, chess_board_row+size-1, chess_board_column+size, size)

 if (filled_block_row >= chess_board_row + size and filled_block_column < chess_board_column + size):
  fill_chess_board(chess_board, chess_board_row+size, chess_board_column , filled_block_row, filled_block_column, size)
 else:
  chess_board[chess_board_row + size][chess_board_column+size-1] = t
  fill_chess_board(chess_board, chess_board_row+size, chess_board_column, chess_board_row+size, chess_board_column+size-1, size)
 
 if (filled_block_row >= chess_board_row + size and filled_block_column >= chess_board_column + size):
  fill_chess_board(chess_board, chess_board_row+size, chess_board_column+size , filled_block_row, filled_block_column, size)
 else:
  chess_board[chess_board_row + size][chess_board_column+size] = t
  fill_chess_board(chess_board, chess_board_row+size, chess_board_column+size, chess_board_row+size, chess_board_column+size, size)

chess_board = [([0]*4) for i in range(4)]
chess_board[2][3]='#'
fill_chess_board(chess_board, 0,0,2,3,4)
for i in chess_board:
  print (i)

 

posted @ 2016-04-03 17:20  zhaodonglin  Views(163)  Comments(0)    收藏  举报