棋盘覆盖问题

这篇博客介绍了如何使用分治法解决棋盘覆盖问题。通过将棋盘分为四个子区域,针对包含特殊方格的区域继续应用分治策略,同时标记相邻无黑方格为同一编号。博主详细阐述了算法思路,并逐步分解棋盘直至1行1列,最终形成代表不同L型骨牌的编号组合。
摘要由CSDN通过智能技术生成

题目在这:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=2000

思路:利用分治法,将棋盘切为4块,左上、右上、左下、右下。其中特殊方格必然处于一块子棋盘中,将无黑方格的棋盘的相邻位置标记为同一编号。如图,假设(1,1)是特殊方格.

我们按照红线将其均分为四块,在含有特殊方格的那块中继续采用分治法。在其余块中先将它们的相邻格子标记为同一编号,再分治。

 

 在分治中,就把4行4列的初始棋盘分为了4个2行2列的棋盘。这里我们拿左上的子棋盘来举例,剩下三块同理。

在左上棋盘中,我们继续划分为四块,同理,我们将不含特殊方格的块的相邻格子标记为同一编号。如下图:

 

最终,我们依次采用分治法,直到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值