题目名称 | 258. [NOI 1997]卫星覆盖 |
---|---|
输入输出 | satellitecover.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | BYVoid 于2009-02-11加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:17, 提交:38, 通过率:44.74% | ||||
cstdio | 100 | 0.006 s | 0.30 MiB | C++ |
Wang Yen Jen | 100 | 0.007 s | 0.29 MiB | C++ |
ceerRep | 100 | 0.010 s | 0.29 MiB | C++ |
BYVoid | 100 | 0.011 s | 0.26 MiB | C++ |
张灵犀不和我一般见识真可怕呢(笑 | 100 | 0.013 s | 0.29 MiB | C++ |
zhengtn03 | 100 | 0.013 s | 0.36 MiB | C++ |
刷刷题 | 100 | 0.013 s | 21.90 MiB | Pascal |
刷刷题 | 100 | 0.015 s | 0.39 MiB | Pascal |
zqzas | 100 | 0.016 s | 0.26 MiB | C++ |
粘粘自喜 | 100 | 0.019 s | 0.28 MiB | C++ |
本题关联比赛 | |||
EYOI与SBOI开学欢乐赛5th |
关于 卫星覆盖 的近10条评论(全部评论) | ||||
---|---|---|---|---|
沉迷学习的假的Keller
2016-03-14 21:18
3楼
| ||||
VIP
可以利用离散思想,立方体最多是100个,所以每个坐标轴上的离散点不会超过200个,并且一个立体空间是由若干个平面层叠加而成。所以可以把第三维作为虚拟的。这时候200*200就够了;关于时间上的优化。。。。。。一个立方体他可能处于若干个平面,在每个平面中它能覆盖的面积是一定的。 感谢一楼代码能供我参考
粘粘自喜
2016-03-14 20:56
2楼
| ||||
|
$SERCOI(Space-Earth$ $Resource$ $Cover-Observe$ $lnstitute)$是一个致力于利用卫星技术对空间和地球资源进行覆盖观测的组织。现在他们研制成功一种新型资源观测卫星 $SERCOI-308$。这种卫星可以覆盖空间直角坐标系中一定大小的立方体空间,卫星处于该立方体的中心。
其中 $(x,y,z)$ 为立方体的中心点坐标,$r$ 为此中心点到立方体各个面的距离(即$ r$ 为立方体高的一半),立方体的各条边均平行于相应的坐标轴。我们可以用一个四元组 $(x,y,z,r)$ 描述一颗卫星的状态及其所能覆盖的空间体积。由于一颗卫星所能覆盖的空间体积是有限的,因此空间中可能有若干颗卫星协同工作。它们所覆盖的空间区域可能有重叠的地方,如下图所示(阴影部分表示重叠的区域)。
请你写一个程序,根据给定的卫星分布情况,计算它们所覆盖的总体积。
输入文件的第一行是一个正整数 $N$,表示空间中的卫星总数。
接下来的 $N$ 行每行用空格隔开的四个正整数 $x,y,z,r$ 给出了一颗卫星的状态,依次表示了该卫星所能覆盖的立方体空间的中心点坐标和半高。
输出文件只有一行,包括一个正整数,表示所有这些卫星所覆盖的空间总体积。
3 0 0 0 3 1 -1 0 1 19 3 5 6
1944
$5$%的数据,$N=1;$
另$20$%的数据,$2 \leq N \leq 3;$
另$30$%的数据,$3 \leq N \leq 10;$
$100$%的数据,$1 \leq N \leq 100 ,-1000 \leq x,y,z \leq 1000, 1 \leq r \leq 200$。
$NOI$ $1997$