我正在寻找一种解决这个问题的算法,除了强化学习和那些运行时间长的算法。在x-y平面上,有n个矩形。一条直线最多可以穿过多少个矩形?
输入
矩形数量为n。
第i个矩形的左上坐标由x[i],y[i]给出。
它的宽度和高度由w[i],h[i]给出。
例子
n
x[0] y[0] w[0] h[0]
x[1] y[1] w[1] h[1]
・
・
x[n-1] y[n-1] w[n-1] h[n-1]
规则
- 0 < n <= 1000
- 每个矩形放在0 <= x <= 10000,0 <= y <= 10000。
- 坐标必须是整数。
- 宽度和高度必须大于1且为整数。
- 矩形可以重叠。
- 直线可以通过矩形的顶点。
- 直线不一定要经过(0,0)。
提示
案例1:
Input
4
0 0 1 1
9999 0 1 1
0 9999 1 1
9999 9999 1 1
Output
2
案例2:
Input
6
2 1 4 3
1 10 1 3
5 7 5 4
8 8 3 2
13 4 3 1
17 1 1 14
Output
5