AC-ABC130_C Rectangle Cutting
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
难度:简单
分数:100 OI排行榜得分:10(0.1*分数+2*难度)
描述
坐标平面上有一个矩形。四个顶点的坐标分别为 (0,0) 、 (W,0) 、 (W,H) 和 (0,H) 。给你一个点 (x,y) ,它位于矩形内或矩形边上。我们将通过 (x,y) 画一条直线,将矩形切割成两部分。求面积不大于另一部分的那一部分的最大面积。此外,请确定是否有多种方法切割矩形并获得最大面积。
输入描述
输入内容由标准输入法提供,格式如下:
W H x y
输出描述
打印面积不大于另一部分面积的部分的最大可能面积,如果有多种方法切割矩形并达到最大值,则在 "1 "后打印,否则打印 “0”。
当打印区域的绝对误差或相对误差不超过
1
0
−
9
10^{−9}
10−9 时,将判定为正确。
用例输入 1
2 3 1 2
用例输出 1
3.000000 0
用例输入 2
2 2 1 1
用例输出 2
2.000000 1
提示
限制因素
1 ≤ W , H ≤ 1 0 9 1≤W,H≤10^9 1≤W,H≤109
0
≤
x
≤
W
0≤x≤W
0≤x≤W
0
≤
y
≤
H
0≤y≤H
0≤y≤H
输入值均为整数。
样本输出 1
第 x = 1 行给出了最优切割,其他行均未给出最优切割。 第x=1行给出了最优切割,其他行均未给出最优切割。 第x=1行给出了最优切割,其他行均未给出最优切割。
解析
我们只需要看看这个矩形是否可以切割成平均的面积即可。
AC代码
#include <bits/stdc++.h>
using namespace std;
int main() {
double w,h,x,y;
cin >> w >> h >> x >> y;
if(x == w / 2 && y == h / 2)
cout << fixed << setprecision(6) << w * h / 2 << " " << "1";
else cout << fixed << setprecision(6) << w * h / 2 << " " << "0";
return 0;
}