这道题参考了https://www.cnblogs.com/20143605--pcx/p/4889518.html

这道题就是枚举矩形的宽, 然后从宽再来枚举高。

具体是这样的, 先把所有点的高度已经0和最高点储存起来, 排个序。

然后就可以枚举所有可能的矩形的宽, 然后可以理解为从左到右扫一遍, 如果没有

点来阻碍的话, 继续扫, 如果有的话,  那么矩形的长就是这次扫到阻碍时的横坐标与

上次扫到阻碍时的横坐标的差值, 这一部分是刚好两端都有阻碍。

所以就可以枚举所有可能的矩形, 然后算答案的时候按照正方形来算就ok了。

#include<cstdio>
#include<cstring>
#include<algorithm>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; const int MAXN = 112;
struct node
{
int x, y;
}a[MAXN];
int d[MAXN]; bool cmp(node a, node b)
{
if(a.x != b.x)
return a.x < b.x;
return a.y < b.y;
} int main()
{
int T, n, w, h;
scanf("%d", &T); while(T--)
{
scanf("%d%d%d", &n, &w, &h);
d[0] = 0; d[n+1] = h;
REP(i, 1, n + 1)
{
scanf("%d%d", &a[i].x, &a[i].y);
d[i] = a[i].y;
} sort(a + 1, a + n + 1, cmp);
sort(d, d + n + 2);
int ans = 0, ansx, ansy;
REP(i, 0, n + 1)
REP(j, i + 1, n + 2)
{
int high = d[j], low = d[i], r = high - low, pre = 0, c;
REP(k, 1, n + 1)
{
if(a[k].y <= low || a[k].y >= high) continue;
c = a[k].x - pre;
if(ans < min(r, c))
{
ans = min(r, c);
ansx = pre;
ansy = low;
}
pre = a[k].x;
}
c = w - pre;
if(ans < min(r, c))
{
ans = min(r, c);
ansx = pre;
ansy = low;
}
} printf("%d %d %d\n", ansx, ansy, ans);
if(T) puts("");
} return 0;
}

最新文章

  1. MSSQL远程连接
  2. django 缓存、中间件、信号、CSRF 详解
  3. Microsoft Office下载地址
  4. Entity Framework with MySQL 学习笔记一(复杂类型 Complex Types)
  5. C++刷称号——2707: 素数与要素
  6. unix c 11
  7. XCode中在提示窗体中对已弃用的API接口画上红线
  8. 201521123115 《Java程序设计》第3周学习总结
  9. 通过ArcMap发布服务
  10. Java:函数,类,数组之间的运用
  11. 使用第三方工具Thumbnailator动态改变图片尺寸
  12. tensorflow训练中出现问题Couldn&#39;t open CUDA library cupti64_80.dll
  13. Windows Server 2016-Active Directory复制概念(二)
  14. Yahoo Programming Contest 2019.E.Odd Subrectangles(思路 线性基)
  15. Servlet运行原理以及生命周期
  16. Python-Selenium中chromeDriver限制图片和Javascript加载
  17. 使用PeopleSoft 异步操作设置步骤
  18. Android之 MTP框架和流程分析
  19. docker私服registry管理镜像
  20. P1546 最短网络(codevs | 2627村村通)

热门文章

  1. input的radio根据value和name反向显示
  2. [Atcoder Code Festival 2017 Qual A Problem D]Four Coloring
  3. Jquery Map遍历
  4. 监控SQLserver计数器
  5. COGS——T 2739. 凯伦和咖啡
  6. 终结者:负载均衡之Nginx(一)
  7. Android使用有道翻译API实如今线翻译功能
  8. C#高级编程五十八天----并行集合
  9. Asp.net button防止点击多次数据提交
  10. linux文件上传下载