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

嘉兴市秀洲区住房和建设局网站黑帽seo排名技术

嘉兴市秀洲区住房和建设局网站,黑帽seo排名技术,做艺术字的网站,标识设计网站【题目来源】https://www.luogu.com.cn/problem/U91193【问题描述】 在一个2^k * 2^k(k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格。现在用4种不同形状的 L型(占3小格)骨牌覆…

【题目来源】
https://www.luogu.com.cn/problem/U91193

【问题描述】
在一个2^k * 2^k(k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一
特殊方格。现在用4种不同形状的 L型(占3小格)骨牌覆盖棋盘上除了特殊方格以外的所有方格,且各骨牌不能重叠。 步骤为:将棋盘一分为四,依次处理左上角,右上角,左下角,右下角,递归进行。严格按照这个顺序处理。

例如,一种用不同形状的 L型骨牌覆盖填充的策略如下图所示:

【输入格式 】
输入三个数k,x,y,分别表示棋盘大小,特殊方格位置。

【输出格式】
共2^k行,每行2^k个数,每辆个数中间空格隔开。
输出按照上述顺序所覆盖的棋盘。特殊方格用0表示,其他为骨牌编号。

【算法分析】
应用分治法求解棋盘覆盖问题的技巧在于如何划分棋盘,要求是使划分后的子棋盘的大小相同,从而将原来规模较大的棋盘覆盖问题分解为规模较小的棋盘覆盖问题。
其常用技巧是,当 k>0 时,将 {\color{Red} 2^k\times 2^k} 的棋盘划分为4个 {\color{Red} 2^{k-1}\times 2^{k-1}} 的子棋盘。由于原棋盘只有一个特殊方格,所以这样划分后,这4个子棋盘中只有一个子棋盘包含该特殊方格,其余3个子棋盘中没有特殊方格。然后,用一个L型骨盘覆盖这3个没有特殊方格的子棋盘的会合处,并将这三个子棋盘上被L型骨牌覆盖的方格标记为新的特殊方格。递归地使用这种分割方法,直至棋盘简化为1\times 1 的棋盘,就结束递归。(注意:下图中的红色特殊方格,可以在其所在子棋盘的
任意位置。下图只是示意需要选择的位置。

上图用语言表述为:
◆左上的子棋盘(若不存在特殊方格)----则将该子棋盘
右下角的那个方格假设为特殊方格
◆右上的子棋盘(若不存在特殊方格)----则将该子棋盘
左下角的那个方格假设为特殊方格
◆左下的子棋盘(若不存在特殊方格)----则将该子棋盘
右上角的那个方格假设为特殊方格
◆右下的子棋盘(若不存在特殊方格)----则将该子棋盘
左上角的那个方格假设为特殊方格

【数据范围】
说明/提示:k<=5

【算法代码】

#include <bits/stdc++.h>
using namespace std;
const int maxn=1005;
int ans[maxn][maxn];
int id;void solve(int x1,int y1,int x2,int y2,int sz) {if(sz==1) return;int t=++id;sz/=2;int midx=x1+sz-1;int midy=y1+sz-1;if(x2<=midx && y2<=midy) { //特殊方格在左上部分,继续划分solve(x1,y1,x2,y2,sz);} else {ans[midx][midy]=t; //不在左上,覆盖左上部分的右下角solve(x1,y1,midx,midy,sz); //继续划分}if(x2<=midx && y2>midy) { //特殊方格在右上部分,继续划分solve(x1,y1+sz,x2,y2,sz);} else {ans[midx][midy+1]=t; //不在右上,覆盖右上部分的左下角solve(x1,y1+sz,midx,midy+1,sz); //继续划分}if(x2>midx && y2<=midy) { //特殊方格在左下部分,继续划分solve(x1+sz,y1,x2,y2,sz);} else {ans[midx+1][midy]=t; //不在左下,覆盖左下部分的右上角solve(x1+sz,y1,midx+1,midy,sz); //继续划分}if(x2>midx && y2>midy) { //特殊方格在右下部分,继续划分solve(x1+sz,y1+sz,x2,y2,sz);} else {ans[midx+1][midy+1]=t; //不在右下,覆盖右下部分的左上角solve(x1+sz,y1+sz,midx+1,midy+1,sz); //继续划分}
}int main() {int k,x,y;cin>>k>>x>>y;int size=(1<<k);solve(1,1,x,y,size);for(int i=1; i<=size; i++)for(int j=1; j<=size; j++) {if(j==size) printf("%d\n",ans[i][j]);else printf("%d ",ans[i][j]);}return 0;
}/*
3
1 1
ans:0  3  4  4  8  8  9  93  3  2  4  8  7  7  95  2  2  6 10 10  7 115  5  6  6  1 10 11 11
13 13 14  1  1 18 19 19
13 12 14 14 18 18 17 19
15 12 12 16 20 17 17 21
15 15 16 16 20 20 21 21
*/




【参考文献】
https://blog.csdn.net/ljw_study_in_CSDN/article/details/106409784
https://www.codenong.com/cs105800665/
https://www.cnblogs.com/crx234/p/5988055.html

https://www.cnblogs.com/yanyu01/p/8734212.html
https://blog.csdn.net/scliu12345/article/details/102387130
 

 

http://www.15wanjia.com/news/5803.html

相关文章:

  • 邯郸市网站建设多少钱个人网页制作完整教程
  • 上海seo整站优化ip切换工具
  • 请私人做网站风险windows优化大师下载安装
  • 带音乐网站模板百度加盟
  • 动态网站设计论文1500字免费的外贸b2b网站
  • 手机怎么做自己的网站北京计算机培训机构前十名
  • 优秀的网站首页布局网络优化培训骗局
  • 亿网正品百度seo培训
  • 网站建设自学苏州seo建站
  • 中国建设银行深圳招聘信息网站软文推广多少钱
  • 安徽省两学一做网站企业查询系统官网天眼查
  • 手机网站和电脑网站开发电商运营工资一般多少钱一个月
  • 网站建设有趣小游戏世界军事新闻
  • 网页qq邮箱怎么发文件给别的邮箱微信搜索seo优化
  • 学校网站建设目的与意义如何做网站关键词优化
  • 做瞹视频网站哪里看宁波网站推广营销
  • 软件测试自学网站百度怎么注册自己的店铺
  • 企业解决方案英文百度关键词优化大
  • 360免费建站可靠吗推广一个产品有哪些方式
  • 南宁网页设计培训机构seo单页快速排名
  • 做网站哪个公司好国际新闻 军事
  • dede免费手机网站模板青岛seo网站管理
  • 谷歌推广开户seo教学网seo
  • 广州住房和建设局网站官网网站制作公司咨询
  • 海底捞网络营销方式semseo是什么意思
  • 中天银都建设集团网站微信投放广告多少钱
  • 网站开发什么百度竞价点击软件奔奔
  • 做效果图兼职的网站有哪些网络营销策划的流程
  • 武汉专业网站建设服务百度app下载最新版本
  • 西部数码网站管理助手 没有d盘搜索引擎是软件还是网站