#P2677. [Usaco2012 Open]tied

[Usaco2012 Open]tied

简易题面

牛被拴着,平面上有 nn 个柱子,xx 坐标相等,且都小于牛的 xx 坐标。

牛在由 mm 条边形成的闭合多边形组成的绳子上,问最少要锯掉几个柱子牛才能逃脱。

题目描述

众所周知,母牛贝茜最喜欢在农场制造混乱。为了阻止她引起太多麻烦,农夫约翰决定用一根长绳子将贝茜绑在篱笆上。从上面看,篱笆由 NN 个柱状物(1N101 \leq N \leq 10)沿着竖直线排列组成,贝茜的位置 (bx,byb_x, b_y) 位于这根竖线的右侧。用来绑住贝茜的绳子由 MM 个线段(3M10,0003 \leq M \leq 10,000)组成,第一个线段从贝茜的位置开始,最后一个线段结束于贝茜的位置。绳子上没有任何篱笆柱。但是,线段可能相交,并且多个线段在它们的端点处可能重叠。这是一个从上面看到的场景的示例:

41461.png (234×146) (luogu.com.cn)

为了帮助贝茜逃跑,其他牛偷走了谷仓里的锯子。请确定他们必须剪掉的篱笆柱的最小数量,以便贝茜能够自由奔跑(意味着她可以向右逃跑,而绳子不会卡在任何篱笆柱上)。

所有输入中的 (x,yx, y) 坐标(包括篱笆柱、贝茜和线段的端点)都在范围 010,0000 \dots 10,000 内。所有的篱笆柱都有相同的 xx 坐标,且 bxbx 大于该值。

输入格式

  • 11 行:四个用空格分隔的整数:N,M,bx,byN, M, b_x, b_y
  • 221+N1+N 行:其中的每一行包含篱笆柱 iixxyy 坐标。
  • 2+N2+N2+N+M2+N+M 行:这其中的每个(M+1M+1)行按顺序包含绳子上一个点的空格分隔的 xxyy 坐标。第一个和最后一个点始终与贝茜的位置 (bx,byb_x, b_y) 相同。

输出格式

只有 11 行,必须移除的篱笆柱的最小数量,以便贝茜可以逃向右边奔跑。

输入样例

2 10 6 1
2 3 
2 1 
6 1 
2 4 
1 1 
2 0 
3 1 
1 3 
5 4 
3 0 
0 0 
1 3 
2 6 
1

输出样例

1