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

分治:地毯填补问题

题目:P1228 地毯填补问题 - 洛谷

我们拿到⼀个矩阵后的策略就是:

  • 先四等分;
  • 找出缺⼝对⾯的区间,放上⼀块地毯;
  • 递归处理四个⼦问题

根据题目的测试用例,可以测试出递归的顺序是:左上,左下,右上,右下。必须严格按照题目(隐含的)要求的顺序递归。

递归思路:首先要判断公主在哪一个区域?

四等分,如果公主在左上角,就在斜对面放一个毯子,从四等分的第一个起点开始递归。

四等分,如果公主在右下角,就在斜对面放一个毯子,从四等分的第一个起点开始递归。

剩下的同理。

涉及到坐标的计算,容易出错。可以用取值法,推算出正确的公式。

#include <iostream>using namespace std;int k, x, y;void dfs(int a, int b, int len, int x, int y)
{if (len == 1) return;len /= 2;if (x < a+len && y < b+len){//摆上一号地毯cout << a+len << " " << b+len << " " << 1 << endl;dfs(a, b, len, x, y);dfs(a, b+len, len, a+len-1, b+len);dfs(a+len, b, len, a+len, b+len-1);dfs(a+len, b+len, len, a+len, b+len); } else if (x >= a+len && y >= b+len){cout << a+len-1 << " " << b+len-1 << " " << 4 << endl;dfs(a, b, len, a+len-1, b+len-1);dfs(a, b+len, len, a+len-1, b+len);dfs(a+len, b, len, a+len, b+len-1);dfs(a+len, b+len, len, x, y);}else if(x >= a + len){cout << a + len - 1 << " " << b + len << " " << 3 << endl;dfs(a, b, len, a + len - 1, b + len - 1);dfs(a, b + len, len, a + len - 1, b + len);dfs(a+len, b, len, x, y);dfs(a+len, b+len, len, a+len, b+len);}else{cout << a + len << " " << b + len - 1 << " " << 2 << endl;dfs(a, b, len, a + len - 1, b + len - 1);dfs(a, b + len, len, x, y);dfs(a + len, b, len, a + len, b + len - 1);dfs(a + len, b + len, len, a + len, b + len);}} int main(){cin >> k >> x >> y;k = (1 << k);dfs(1, 1, k, x, y);    return 0; } 

http://www.dtcms.com/a/500054.html

相关文章:

  • 北京南站附近的景点深圳工业设计培训班
  • 肤契:全域协议版 六 销量即救赎
  • 长治网站建设培训文件儿童7一8岁手工
  • php做购物网站详情页的代码点击链接即可进入
  • WebGL精简指南:核心概念、前端技术与效果实现
  • 怎么优化自己网站的关键词手机网站开发 html5
  • 前端基础--css(1)
  • 算法训练之多源BFS
  • 网站开发用什么语言比较流行网站建设未验收会计账务处理
  • openKylin 2.0版本学习入门
  • 如何用php数据库做网站搜狗收录提交
  • 人工智能三要素→ 数据 算力 算法
  • 做教育视频网站用什么平台好wordpress内网
  • 域名做好了怎么做网站内容网站搭建百家号
  • Spyder下载安装图文教程(附安装包,适合新手)
  • 南宁手机平台网网站建设龙岗建设工程交易中心官网
  • 网站移动端开发需要哪些技术ai代码生成器
  • 静态网页建站装饰画
  • 电商运营如何提升自身技能素质
  • iptables 防火墙详解与实用配置指南
  • 湖南网站建设加盟代理企业微营销网站
  • 可以大量免费发帖的网站wordpress存档显示文章所有内容
  • BPMN.js与LogicFlow流程设计器核心技术解析
  • python程序打包成win的exe应用(以OCR应用为例)
  • 建设营销型网站价格wordpress固定连接nginx
  • DRF:Django REST Framework框架介绍
  • 不备案 网站 盈利合肥做个网站多少钱
  • 做网站只用php不用html扬中网站建设哪家好
  • Linux内核idr数据结构使用
  • 3.3栈与队列的应用