当前位置: 首页 > news >正文

国内旅游网站排行榜软件商店安装

国内旅游网站排行榜,软件商店安装,邢台企业做网站找谁,木疙瘩h5制作教程分治法求解棋盘覆盖问题 如何应用分治法求解棋盘覆盖问题呢?分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。 基本思路 棋盘覆盖问题是…

分治法求解棋盘覆盖问题

如何应用分治法求解棋盘覆盖问题呢?分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。

基本思路

棋盘覆盖问题是指在一个大小为2n * 2n的棋盘上,去掉其中一个方格后,用L型骨牌(覆盖3个方格)将其完全覆盖。分治法是一种解决该问题的有效算法。

当 k>0 时,将 2^k * 2^k 棋盘分割为 4 个 2^(k-1) * 2^(k - 1)子棋盘,如下图(f)所示。特殊方格必位于4 个较小子棋盘之一种,其余 3 个子棋盘中无特殊方格。为了将这 3 个无特殊方格的子棋盘转化为特殊棋盘,可以用一个 L 型骨牌覆盖这 3 个较小棋盘的会合处,如下图(g)所示。从而将原问题转化为 4 个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘 1*1。
在这里插入图片描述

代码实现

#include <stdio.h>
int board[100][100] = { 0 };
int tile = 1;
//棋盘覆盖 
void ChessBoard(int tr, int tc, int dr, int dc, int size) {if (size == 1)return;int t = ++tile,s = size / 2;//覆盖左上角棋盘if (dr < tr + s && dc < tc + s)//特殊方格在棋盘中{ChessBoard(tr, tc, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s - 1][tc + s - 1] = t; //赋值特殊方格类型ChessBoard(tr, tc, tr + s - 1, tc + s - 1, s);//从左上角继续划分 }//覆盖右上角棋盘if (dr < tr + s && dc >= tc + s)//特殊方格在棋盘中{ChessBoard(tr, tc + s, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s - 1][tc + s] = t; //赋值特殊方格类型ChessBoard(tr, tc + s, tr + s - 1, tc + s, s);//从右上角继续划分 }//覆盖左下角棋盘if (dr >= tr + s && dc < tc + s)//特殊方格在棋盘中{ChessBoard(tr + s, tc, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s][tc + s - 1] = t; //赋值特殊方格类型ChessBoard(tr + s, tc, tr + s, tc + s - 1, s);//从左下角继续划分 }//覆盖右下角棋盘if (dr >= tr + s && dc >= tc + s)//特殊方格在棋盘中{ChessBoard(tr + s, tc + s, dr, dc, s);}else {//特殊方格不在棋盘中,则从中间覆盖一个方格board[tr + s][tc + s] = t; //赋值特殊方格类型ChessBoard(tr + s, tc + s, tr + s, tc + s, s);//从左下角继续划分 }
}
int  main(void) {int size, dr, dc;printf("请输入棋盘的行或列号:");scanf("%d", &size);printf("请输入特殊方格的行或列号:");scanf("%d %d", &dr, &dc);board[dr][dc] = 1;ChessBoard(0, 0, dr, dc, size);for (int i = 0;i < size;i++) {for (int j = 0;j < size;j++)printf("%d\t", board[i][j]);printf("\n");}return 0;
}

运行结果

在这里插入图片描述
如上图所示,相同的数字就代表了一个L型的骨牌。

http://www.khdw.cn/news/45525.html

相关文章:

  • 装饰公司怎么做网站seo就业
  • 网站引导页是什么问题百度推广客户端下载
  • 附近的网站设计制作价格百度搜索引擎网址
  • 做婚庆网站有哪些内容丁的老头seo博客
  • 广东联通通信建设有限公司 网站seo是啥意思
  • 网站备案背景墙必应搜索引擎入口
  • 漯河网站制作平台营销策略都有哪些
  • 政府网站建设方案如何写太原好的网站制作排名
  • 湖南省住房城乡建设网站优化seo设置
  • 做微网站那pc端显示啥百度大数据官网入口
  • 定制版网站建设费用企业网络推广平台
  • 深圳保障性住房新政策优化大师有用吗
  • 企业网站关键词优化希爱力的功效及副作用
  • java开发门户网站怎么在百度上推广自己的公司信息
  • 上海最好的网站设计公司学市场营销后悔死了
  • 股权变更要在工商局网站做吗hyein seo
  • 网站乱码解决办法网站建站方式有哪些
  • 网站架设软件自动点击器永久免费版
  • 无锡高端网站建设平台新闻联播今日新闻
  • wordpress 海量数据seo是什么意思中文翻译
  • 企业北京响应式网站制作爱站网关键词挖掘查询工具
  • 北京模板开发建站免费做网站软件
  • 十堰网站优化互联网营销师是哪个部门发证
  • 功能型网站介绍免费推广自己的网站
  • 户外网站设计智慧软文网站
  • 北京怀柔做网站管理运营的公司凡科网怎么建网站
  • 桂林旅游网站线上平台推广方式
  • 网站上传用什么软件做视频教程百度竞价推广点击软件奔奔
  • 高端个人网站百度推广400电话
  • wordpress 转 html如何优化关键词提升相关度