题目描述:
给定坐标轴上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖住所有线段。
输入描述:
第一行输入为所有线段的数量,不超过10000,后面每行表示一条线段,格式为"x,y",x和y分别表示起点和终点,取值范围是[-105,105]。
输出描述:
最少线段数量,为正整数
示例1
输入:
3
1,4
2,5
3,6
输出:
2
说明:
选取2条线段[1,4]和[3,6]即可,这两条线段可以覆盖[2,5]
n=int(input())
xianduans=[list(map(int,input().split(','))) for i in range(n)]
xianduans=sorted(xianduans,key=lambda x:(x[0],x[1]))
right=xianduans[0][1]
max_right=max(xianduan[1] for xianduan in xianduans)
count=1
while right<max_right:
temp=[]
for xianduan in xianduans:
if xianduan[0]<=right:
temp.append(xianduan)
else:
break
right=max(xianduan[1] for xianduan in temp)
count+=1
print(count)