像鱼666


私信TA

用户名:dotcpp0705695

访问量:1730

签 名:

等  级
排  名 1079
经  验 3233
参赛次数 0
文章发表 39
年  龄 0
在职情况 学生
学  校 江南大学
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

n=int(input())

t=[]

a=1#互相兼容的活动数量


for i in range(n):

    t.append(input().split())

for i in range(n):

    for j in range(2):

        t[i][j]=int(t[i][j])

t.sort(key=lambda x:x[1])#按照活动结束的时间进行升序排列

for i in range(n-1):

    if t[i][0]==t[i+1][0]:

        if t[i][1]>t[i+1][1]:

           t[i][1],t[i+1][1]=t[i+1][1],t[i][1]#左端点相同,将结束时间晚的放在后面

   

lastx=t[0][1]

for k in range(1,n):

    if t[k][0]>=lastx:#某一个活动的开始时间在 最早结束的活动的 结束时间后面

        lastx=t[k][1]#指针指向该活动的结束时间

        a+=1

        

    


print(a)



    


 

0.0分

0 人评分

  评论区

  • «
  • »