棋盘覆盖问题[Java]

该博客讨论了如何使用Java解决棋盘覆盖问题。通过将棋盘四等分,当遇到2*2的棋盘且包含特殊方格时,可以使用一个L形棋子填满。如果特殊方格不在四等分的正中,将其余三部分标记并继续四等分,直到所有部分都能用L形棋子填充。文章提供了解题思路和测试结果。
摘要由CSDN通过智能技术生成

棋盘
在这里插入图片描述
在这里插入图片描述

当四等分后为2*2的棋盘且特殊方格在其中,则刚好用一个L填满棋盘。

解题思路:先将棋盘按中间点四等分为左上,右上,左下,右下四部分。
**当四等分后为22的棋盘且特殊方格在其中,则刚好用一个L填满棋盘。
若四等分后特殊方格不在其中,则将中心四格除了特殊方格在的部分其他三个格子涂同一颜色(如特殊方格在右上部分,则将左上、左下、右下涂色),并标记为特殊方格。然后再将每个部分四等分,若每部分大于2
2则继续标记,直到等分后为2*2的棋盘,用一个L填满棋盘。

//棋盘覆盖问题
public class ChessBoardCoverage {
   
    private static int BOARD_SIZE = 8;//例举8*8的棋盘
    private static int[][] board = new int[BOARD_SIZE][BOARD_SIZE];
    private static int title = 0;

    public static void main(String[] args) {
   
        Scanner input = new Scanner(System.in);
        System.out.println(">输入特殊方格的角标:");
        int dr 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值