神说要有光,于是就有了本题。

如图所示,一个漆黑的世界可以用如图的三维坐标系来表示,XoY平面表示该世界的地面。 坐标系由以下几个组成部分:

1、一面无限宽无限高的白墙S,可以用如下公式表示: $$ \begin{cases} x=-c \ z \geq 0 \end{cases} $$ 2、一面宽为2w高为h的绿墙W(厚度忽略不计),可以用如下公式表示: $$ \begin{cases} x=0 \ -w \leq y \leq w \ 0 \leq z \leq h \end{cases} $$

3、这个世界唯一的点光源L(体积忽略不计),点光源必须在图中的黑色线段上,黑色线段可以用如下公式表示: $$ \begin{cases} x=c \ y=0 \ 0 \leq z \leq d \end{cases} $$ 神的目的是照亮这片大地,但同时也要防止人类给点阳光就灿烂。因此,神可以决定放置点光源L的位置(神必须放置点光源),使得未被照亮的土地面积尽可能大,请你输出未被照亮的土地面积的最大值。

说明:对于地面上的一点,若其与点光源L的连线接触到了绿墙W,则该点未被照亮。 注意:神只想最大化未被照亮的土地面积最大值,墙面S上未被照亮的面积不算做土地面积

输入描述:

输入包含 $T (1 \leq T \leq 10^4)$ 组测试用例。 每组测试用例包含四个整数 $c, d, h, w (1 \leq c, d, h, w \leq 10^4)$,含义如题面所述。

输出描述:

输出一个浮点数,表示你的答案。当你的答案的绝对误差或相对误差小于 $10^{-4}$ 时,答案被视为正确。

输入样例:

1 
2 4 2 1

输出样例:

6

题目分析

很显然, 当光源趋近于 x 轴时,阴影最大。 这个时候阴影是一个梯形。

面积为 3 w c

代码实现

#include <iostream>
using namespace std;

int t;
long long solve() {
    int c, d, h, w;
    cin >> c >> d >> h >> w;
    return 3ll * w * c;
}
int main () {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> t;
    while(t--) cout << solve() << '\n';
    return 0;
}
分类: Math

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

友情链接:Ctips' blog, Colza’s blog

站点状态:Status