【题目描述】
题目意思不难理解,把n条线段画在纸上,合并可以合并的线段,比如两条线段有至少两个公共点就可以合并成一条线段,问最后剩下几条线段
【输入输出】
多case
n (n <= 10000)
x1, y1, x12, y12
....
xn, yn, xn2, yn2;
n = 0结束
每个用例输出最后的线段数。
【题目分析】
想法就是对线段按斜率排序,斜率相同的按x轴或y轴的截距来排序,截距也相同的按x较小的x坐标或者y较小的y坐标来排序,这样就可以保证overlap的线段都是相邻的,然后线性扫描一遍。
注意水平线和垂线的特殊处理
【code】