AcWing 4957. 飞机降落
原题链接
简单
作者:
噷梢
,
2025-04-05 22:16:52
· 福建
,
所有人可见
,
阅读 3
#include<bits/stdc++.h>
using namespace std;
const int N=20;
bool st[N];
int n;
struct g{
int a,b,c;
}gs[N];
bool temp(struct g a,struct g b){
return a.a<b.a;
}
int dfs(int u,int j){
if(u==n+1)return 1;
for(int i=1;i<=n;i++){
int a=gs[i].a,b=gs[i].b,c=gs[i].c;
if(!st[i]&&a+b>=j){
st[i]=true;
if(dfs(u+1,max(a,j)+c))return 1;
st[i]=false;
}
}
return 0;
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
int a,b,c;
cin>>a>>b>>c;
gs[i]={a,b,c};
}
memset(st,false,sizeof st);
if(!dfs(1,0))puts("NO");
else puts("YES");
}
return 0;
}