python
T = int(input())
def dfs(time,step):
if step >= n:
return True
for k in range(n):
if b[k]==0:
if a[k][0]+a[k][1]<time:#现在时间飞机已经timeout
return False
b[k]=1#确认不会timeout后,在加入读取
if dfs(max(a[k][0],time)+a[k][2],step+1):
return True
b[k]=0
return False
for _ in range(T):
n = int(input())
a = []
for i in range(n):
a.append(list(map(int,input().split())))
b = [0]*n #b = [[0]for _ in range(n)]这种b[k]和(0)不等,类型不同
#没必要计算最晚降落时间并保存,用dfs每种情况都考虑到
if dfs(0,0):
print("YES")
else:
print("NO")
0 回复
0 转发
0 喜欢
2 阅读



