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

蓝桥杯 19. 植树

植树

题目描述

小明和朋友们一起去郊外植树,他们带了一些在实验室中精心研究出的小树苗。

一共有 n 个人,每个人挑选了一个适合植树的位置,一共 n 个位置。每人准备在自己的位置种下一棵树苗。

但他们遇到一个问题:有的树苗比较大,而有的位置太近,如果同时种下会“撞到一起”。

我们将每棵树视为一个圆,圆心是植树的位置,半径为树的半径。如果两棵树的圆相交(相切不算),那么这两棵树不能同时种下,称为发生冲突

他们决定只选择其中一部分树苗种下去,要求:

  • 没有任意两棵树发生冲突;
  • 所有种下树的面积总和最大

输入描述

  • 第一行一个整数 n(1 ≤ n ≤ 30),表示准备植树的位置数。
  • 接下来 n 行,每行三个整数 x y r,表示树苗的种植位置坐标 (x, y) 和树的半径 r

其中:

  • 0 ≤ x, y ≤ 1000
  • 1 ≤ r ≤ 1000

输出描述

输出一个整数,表示在不冲突的情况下,可以植树的总面积除以 π 的值
因为每棵树的面积为 π * r²,所以答案是总面积除以 π 后的整数。

输入示例

6
1 1 2
1 4 2
1 7 2
4 1 2
4 4 2
4 7 2

输出示例

12

c++代码

#include<bits/stdc++.h>using namespace std;struct cir{int x, y, r;
};int n, ans = 0;
vector<cir> cirs, mid;void dfs(int index, int tem) {if (index == cirs.size()) {ans = max(ans, tem);return;}bool key = true;for (int i = 0; i < mid.size() && key; i++) {if ((mid[i].x - cirs[index].x) * (mid[i].x - cirs[index].x) + (mid[i].y - cirs[index].y) * (mid[i].y - cirs[index].y) < (mid[i].r + cirs[index].r) * (mid[i].r + cirs[index].r)) key = false;}dfs(index + 1, tem);if (key) mid.push_back(cirs[index]), dfs(index + 1, tem + cirs[index].r * cirs[index].r), mid.pop_back();
}int main() {cin >> n;cirs = vector<cir>(n);for (int i = 0; i < n; i++) cin >> cirs[i].x >> cirs[i].y >> cirs[i].r;dfs(0, 0);cout << ans;return 0;
}//by wqs

题目解析

dfs+剪枝,如果已经选择的有和当前节点冲突,则不能选

相关文章:

  • 事务隔离(MySQL)
  • 5.4 - 5.5Web基础+c语言拓展功能函数
  • sqli-labs靶场11-17关(POST型)
  • 深度解析:从 GPT-4o“谄媚”到 Deepseek“物理腔”,透视大模型行为模式的底层逻辑与挑战
  • ns-3仿真_pcap抓取时间太长问题_log打印时间显示5s结束,pcap抓包抓到了10s
  • Kubernetes控制平面组件:Controller Manager详解
  • ByteArrayInputStream 类详解
  • 什么是“系统调用”
  • JS DAY3
  • STM32 PulseSensor心跳传感器驱动代码
  • 【实战教程】React Native项目集成Google ML Kit实现离线水表OCR识别
  • unity TMP字体使用出现乱码方框
  • 【QT】QT中的软键盘设计
  • Java开发者面试实录:微服务架构与Spring Cloud的应用
  • Java面试场景分析:从音视频到安全与风控的技术探讨
  • 查看并升级Docker里面Jenkins的Java17到21版本
  • suna工具调用可视化界面实现原理分析(二)
  • 数据资本化:解锁数字资产价值的证券化与质押融资之路
  • uniapp 云开发全集 云开发的概念
  • 了解巴纳姆效应
  • 伊朗公布新型弹道导弹,“萨德”系统无法拦截
  • 贵州赤水丹霞大瀑布附近山体塌方车辆被埋,景区:无伤亡,道路已恢复
  • 德国旅游胜地发生爆炸事故,11人受伤
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 全国人大常委会关于授权国务院在中国(新疆)自由贸易试验区暂时调整适用《中华人民共和国种子法》有关规定的决定