H题
———————————————————————————————————————————————
本题意在求解二维坐标系中的矩形重叠问题
1、首先考虑什么情况下矩形会发生重叠:矩形重叠的情况较多,而不重叠的情况相对来说较为单一,因此可以反向考虑。
矩形不重叠的情况只在如下四个场景下发生:
(1)第一个矩形的右端点在另一个矩形左端点的左边
(2)第一个矩形的右端点在另一个矩形左端点的下边
(3)(4)一二矩形互换
对上述情况取补集即为矩形重叠的情况
2、若重叠,计算矩形的重叠面积
可见重叠部分的面积为
a
b
s
(
m
i
n
{
c
,
g
}
−
m
a
x
{
a
,
e
}
)
×
a
b
s
(
m
i
n
{
d
,
h
}
−
m
a
x
{
f
,
b
}
)
abs(min\{c,g\}-max\{a,e\})\times abs (min\{d,h\}-max\{f,b\})
abs(min{c,g}−max{a,e})×abs(min{d,h}−max{f,b})
I题
————————————————————————————————————————————————————————————————————————————
这个题的考察点主要为浮点数的比较,需要设定一个最小门限值,并使用fabs函数来实现。
尝试了一下发现直接使用表达式计算的方法并不可行。
不过既然给了范围,用循环也是很方便的