#9903. 牛的障碍赛

    ID: 9903 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>图论二分图二分图最大匹配最大独立集最小点覆盖线段相交计算几何Kőnig定理

牛的障碍赛

题目描述

农夫约翰对下一个伟大的观众运动有一个绝妙的想法:牛障碍赛!众所周知,正规的障碍赛跑是由一群马匹绕着一个满是障碍物的赛道赛跑。农夫约翰的数字相同的比赛应该与训练有素的奶牛,只要障碍是足够短。

为了设计他的课程,农夫约翰绘制了一张他可能建造的所有 NN 可能障碍的图表。每一个都由平行于水平轴或垂直轴的二维平面中的线段表示。障碍物 ii 具有不同的端点(X1i,Y1iX1_i,Y1_i)和(X2i,Y2iX2_i,Y2_i)。示例如下:

   --+-------   
-----+-----
  ---+---     |
     |     |  |
   --+-----+--+-   |
     |     |  |  | |
     |   --+--+--+-+-
           |  |  | |
              |

农夫约翰希望建立尽可能多的这些障碍,受制于约束,他们没有两个相交。从上图开始,农夫约翰可以建造7个障碍物:

  ----------   
-----------
  -------     |
           |  |
           |  |    |
           |  |  | |
           |  |  | |
           |  |  | |
              |

如果两个线段共用一个公共点,甚至一个或两个线段的端点,则称为相交。农夫约翰确定原始输入图中没有两个水平段相交,同样,输入图中没有两个垂直段相交。

请帮助农夫约翰确定他能建造的最大障碍物数量。

输入格式

11 行:单个整数:NN

2..N+12..N+1 行:第 i+1i+1 行包含四个表示障碍的空格分隔整数:X1iX1_iY1iY1_ iX2iX2_ iY2iY2_i

输出格式

第1行:农夫约翰可以选择的最大非交叉段数。

3 
4 5 10 5 
6 2 6 12 
8 3 8 5 
2 

样例分析

有三个潜在的障碍。第一是连接 (4,5)(4,5)(10,5)(10,5) 的水平段;第二和第三是连接 (6,2)(6,2)(6,12)(6,12)(8,3)(8,3)(8,5)(8,5) 的垂直段。

最佳解决方案是选择两个垂直段。

数据范围与提示

对于100%100\% 数据:1N2501 \leq N \leq 2501X1i,Y1i,X2i,Y2i1091 \leq X1_i,Y1_i,X2_i,Y2_i \leq 10^9