返回题解分享
讨论 / 题解分享/ 帖子详情

飞机降落(编程题) - 题解

没python的我贴一个

def dfs(time,step):#当前时间和当前这个是考虑的第几个飞机
    if step>=n:
        return True
    for k in range(n):
    if b[k]==0:
        b[k]=1
        if a[k][0]+a[k][1]<time:#现在时间飞机已经曼巴out
            b[k]=0
            return False
        if dfs(max(a[k][0],time)+a[k][2],step+1):
            return True
        b[k]=0
    return False
t = int(input())
for \_ in range(t):#第几组数据
n = int(input())#几架飞机
a=[list(map(int,input().split())) for i in range(n)]
b=[0]\*n
if dfs(0,0):
    print("YES")
else:
    print("NO")
0 回复 0 转发 0 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!