CF1055G Jellyfish Nightmare
题目描述
### 题意
Bob 最近长胖了。为了减轻体重, Bob 决定定期在游泳池里游泳。然而,在他第一次去游泳池的前一天,他做了一个奇怪的梦。在这个梦中, Bob 正沿着泳池的一条泳道游泳,但也有一些水母在他周围游泳。值得一提的是,水母一直是 Bob 最深刻的童年恐惧之一。
让我们为 Bob 的梦假设以下物理模型:
1. 游泳池的泳道是平面上直线 $x=0$ 和直线 $x=w$ 之间的区域, Bob 不能游出泳道,但是他可以触碰边界。
2. 水母非常小,但在 Bob 的梦中,它们非常迅速。每只水母都有它的活动区域。这些区域是各种半径的圆,水母坐在它们的中心。两个水母的活动区域可能重叠,一个活动区域甚至可能完全包含在另一个区域内。
3. Bob 具有凸多边形的形状。
4. 不幸的是,Bob 的超重使他非常笨拙,故他在游泳时无法旋转身体。即整个过程多边形可以向任何方向运动,但是**不能旋转**。
5. 每当 Bob 游进水母的活动区域时,它会立即注意到他刺痛他,使他非常痛苦。我们认为只有凸多边形和圆的交为正面积(S>0)时才算进入水母的活动区域。
6. 一旦水母刺伤了 Bob,它就会愉快地游走,不再对 Bob 造成任何威胁。
Bob 想要游到终点且被刺的次数最少,他将从直线 $y=-h$ 出发,在直线 $y=h$ 结束 ,$h=10^{10}$
输入格式
第一行两个整数 $n$ 和 $w$ $(3\le n\le 200,1\le w\le 30000)$,表示多边形的点数和泳道的宽度。
接下来按照逆时针顺序, $n$ 行每行两个整数 $x_i,y_i(0\le x_i\le w,0\le y_i\le 30000)$ ,表示多边形的一个顶点。
然后 $m$ 行,每行三个整数 $x_i,y_i,r_i(0\le x_i \le w,0\le y_i,r_i\le30000)$,表示水母所在的圆心和圆的半径,保证任意两个水母的圆心不同。
输出格式
一个整数,表示 Bob 最少被刺几次。
说明/提示
Visualization of the possible solutions to the first and the second sample test cases are below:
