输入一组矩形Rectangles,其中每一个元素都是在二维坐标系中与XY轴对齐的矩形,使用BottomLeft表示其左下角的坐标点而TopRight表示其右上角的坐标点,坐标均为浮点数。
这一组矩形重合覆盖的面积区域集合称之为S
需要实现一个计算类,随机等概率的选中位于S内的点。请补全下方的Solution类以实现此功能,
要求
1 pick 函数返回S内每一个坐标点被选中的概率应当相等。(考虑矩形之间可能重叠部分处理,注意要求概率分布相同)
2 构造函数Solution(vector<Rectangle> Rectangles) 用于接收一组矩形的输入
3 选择函数 Point Pick() 会被多次调用以等概率随机选点。此外可在Solution类中加入需要的成员变量及函数以辅助计算。struct Point
{
float X;
float Y;
};
struct Rectangle
{
Point BottomLeft;
Point TopRight;
};
struct Solution
{
Solution(vector<Rectangle> Rectangles)
{
}
Point Pick()
{
}
//可在此添加所需成员变量及函数
};