https://vjudge.net/contest/277824#problem/A

尤其是模拟题,三思而后敲!!!

纠错了好久,主要还是没有处理好:单点若还未放气球,其他气球可以膨胀越过它(即可以无视这个点);如果选到一个点,它已经在某一气球半径内了,则置r=0.

还参考了一些其他测试数据

 #include<iostream>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<cstring>
#include<queue>
#include<cmath>
const double PI = acos(-1.0);//记住PI
using namespace std;
int n, vis[];
double maxm;
double x1, x2, yy1, y2, z1, z2;
double a[], b[], c[], r[];
double dist(double a, double b, double c){
return sqrt(a*a+b*b+c*c);
}
double cal_min(double a, double b, double c){
double tmp1 = min(fabs(a-x1), min(fabs(b-yy1), fabs(c-z1)));
double tmp2 = min(fabs(a-x2), min(fabs(b-y2), fabs(c-z2)));
return min(tmp1, tmp2);
}
void dfs(double sum, int k)
{
if(k == n){
maxm = max(sum, maxm);
}
else
for(int i = ; i < n; i++){
if(!vis[i]){//主要问题处在下面的处理
r[i] = cal_min(a[i], b[i], c[i]);
for(int j = ; j < n; j++){//这里不能加j!=i
if(vis[j] == ){
if(dist(a[i]-a[j], b[i]-b[j], c[i]-c[j])>r[j])
r[i] = min(dist(a[i]-a[j], b[i]-b[j], c[i]-c[j])-r[j], r[i]);
else r[i] = ;
}
}
sum += r[i]*r[i]*r[i];
vis[i] = ;
dfs(sum, k+);
sum -= r[i]*r[i]*r[i];
vis[i] = ;
}
}
}
int main()
{
int kase=;
while(~scanf("%d", &n)&&n){ scanf("%lf%lf%lf", &x1, &yy1, &z1);
scanf("%lf%lf%lf", &x2, &y2, &z2);
for(int i = ; i < n; i++){
scanf("%lf%lf%lf", &a[i], &b[i], &c[i]);
}
memset(vis, , sizeof(vis));
memset(r, , sizeof(r));
maxm = ;
dfs(, );
printf("Box %d: %.0lf\n\n", ++kase, (fabs(x2-x1)*fabs(y2-yy1)*fabs(z2-z1)-maxm*PI*4.0/3.0));//a*b*c-(4/3)*PI*r*r*r
}
return ;
}

UVALive 2474 Balloons in a Box(枚举)的更多相关文章

  1. UVA 2474 - Balloons in a Box 爆搜

    2474 - Balloons in a Box 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...

  2. Java实现 蓝桥杯 算法训练 Balloons in a Box

    试题 算法训练 Balloons in a Box 问题描述 你要写一个程序,使得能够模拟在长方体的盒子里放置球形的气球. 接下来是模拟的方案.假设你已知一个长方体的盒子和一个点集.每一个点代表一个可 ...

  3. 算法训练 Balloons in a Box (枚举,模拟)

    问题描述 你要写一个程序,使得能够模拟在长方体的盒子里放置球形的气球. 接下来是模拟的方案.假设你已知一个长方体的盒子和一个点集.每一个点代表一个可以放置气球的位置.在一个点上放置一个气球,就是以这个 ...

  4. UVALive 6092 Catching Shade in Flatland --枚举+几何计算

    题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳 ...

  5. UVALive 6885 Flowery Trails 最短路枚举

    题目连接: http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=129723 题意: 给你一个n点m图的边 1到n有多条最短路 ...

  6. UVALive 4863 Balloons 贪心/费用流

    There will be several test cases in the input. Each test case will begin with a line with three inte ...

  7. 洛谷2474 [SCOI2008] 天平 差分约束->枚举

    题目描述 你有n个砝码,均为1克,2克或者3克.你并不清楚每个砝码的重量,但你知道其中一些砝码重量的大小关系.你把其中两个砝码A 和B 放在天平的左边,需要另外选出两个砝码放在天平的右边.问:有多少种 ...

  8. UVALive 6692 Lucky Number (思路 + 枚举)

    题意:给你n 个数字,某一个数的幸运数是这个数前面比他小 离他最远的位置之差,求出最大幸运值. 析:先按从大到小排序,然后去维护那个最大的id,一直比较,更新最大值就好. 代码如下: #pragma ...

  9. UvaLive 4863 Balloons(贪心)

    题意: 给定n个队伍, 然后A房间有a个气球, B房间有b个气球, 然后给出每个队伍所需要的气球数量和到A B房间的距离, 求把气球全部送到每个队伍的最短距离. 分析: 在气球充足的情况下, 那么我们 ...

随机推荐

  1. angularjs杂谈

    1.MVVM的看法:我给view里面各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view里做了任何操作,这个数据对象也跟着自动更新. Vie ...

  2. JavaScript—对象创建方式

    JavaScript 也是面向对象的语言(oop) 之前学JavaScript 没有学对象.现在做下笔记 创建对象的方式: 1.  对象字面量 const hero = { name: '吕布', w ...

  3. 002 requests的使用方法以及xpath和beautifulsoup4提取数据

    1.直接使用url,没用headers的请求 import requests url = 'http://www.baidu.com' # requests请求用get方法 response = re ...

  4. 2018-2019-2 20165325 《网络对抗技术》 Exp5:MSF基础应用

    2018-2019-2 20165325 <网络对抗技术> Exp5:MSF基础应用 实验内容(概要) 1.1 一个主动攻击实践,本实验选择 ms17_010_eternalblue(成功 ...

  5. 百度杯”CTF比赛 2017 二月场 没错!就是文件包含漏洞。

    题目源码: 文件包含漏洞的话,看一下 你么可以使用php://input 伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN, 目录下还有一个dle345aae.php文件,呢么用cat命令打 ...

  6. BFS 模拟队列(水题)

    BFS 这道题 觉得比较适合BFS新手入门写,也许大家都以为最入门 的BFS题是在二维图上搜索,但是这道题是线性搜索,更加简单 POJ 3278 Catch That Cow Time Limit:  ...

  7. mysql windows 安装 错误

    1 免压缩版安装会经常提示需要c++库,还是要用安装版. 2 安装板默认在c盘,修改目录要注意目录权限. 3 要把datadir的data目录全部考到新目录下.

  8. 012_TCP keepalive 和 http keep-alive

    TCP keepalive概念在使用TCP长连接(复用已建立TCP连接)的场景下,需要对TCP连接进行保活,避免被网关干掉连接.在应用层,可以通过定时发送心跳包的方式实现.而Linux已提供的TCP ...

  9. MAC本apache+php配置虚拟域名时踩的坑

    昨天在调试Mac自带的Apache+PHP配置域名时,调试的让我怀疑人生.顿时心里一万个草泥马,我就是配置个虚拟域名啊,这么让我受伤 . 1 首先检查一下Apache是否开启, qutao@bogon ...

  10. html获取输入框的值

    https://zhinan.sogou.com/guide/detail/?id=316512383339