基本信息
源码名称:棋盘覆盖问题实现
源码大小:0.96KB
文件格式:.rar
开发语言:Java
更新时间:2020-11-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

实现棋盘覆盖问题

 public static void chessBoard(int dr, int dc, int tr, int tc, int size) {

 

  if (size == 1) {

   return;

  }

 

  int t = tile ;

  /**  分割棋盘后的size  */

  int s = size / 2;

 

  // 判断特殊方格是否在左上角的小棋盘中

  if (tr < dr  s && tc < dc  s) {

   chessBoard(dr, dc, tr, tc, s);

  } else {

   board[dr  s - 1][dc  s - 1] = t;

   chessBoard(dr, dc, dr  s - 1, dc  s - 1, s);

  }

 

  // 判断特殊方格是否在右上角的小棋盘中

  if (tr < dr  s && tc >= dc  s) {

   chessBoard(dr, dc  s, tr, tc, s);

  } else {

   board[dr  s - 1][dc  s] = t;

   chessBoard(dr, dc  s, dr  s - 1, dc  s, s);

  }

 

  // 判断特殊方格是否在左下角的小棋盘中

  if (tr >= dr  s && tc < dc  s) {

   chessBoard(dr  s, dc, tr, tc, s);

  } else {

   board[dr  s][dc  s - 1] = t;

   chessBoard(dr  s, dc, dr  s, dc  s - 1, s);

  }

 

  // 判断特殊方格是否在右下角的小棋盘中

  if (tr >= dr  s && tc >= dc  s) {

   chessBoard(dr  s, dc  s, tr, tc, s);

  } else {

   board[dr  s][dc  s] = t;

   chessBoard(dr  s, dc  s, dr  s, dc  s, s);

  }

 }

 

 public static void main(String[] args) {

  


  try{

   if(args[0]!=null){

    SIZE = Integer.parseInt(args[0], 10);

   }

   if(args[1]!=null){

    TR = Integer.parseInt(args[1], 10);

   }

   if(args[2]!=null){

    TC = Integer.parseInt(args[2], 10);

   }

  }catch(Exception e){

   System.out.print("\t(部分)采用默认参数");

  }

  

  System.out.printf("\t棋盘规模:%d*%d",SIZE,SIZE);

  System.out.printf("\t特殊方格:(%d,%d)",TR,TC);