Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!
我的博客: <但凡.
我的专栏: 《编程之路》、《数据结构与算法之美》、《题海拾贝》
欢迎点赞,关注!
1、题目

2、题解
cpp
#include<iostream>
#include<cstring>
using namespace std;
const int N = 15;
int T, n;
int t[N], d[N], l[N];
bool st[N];
bool dfs(int pos, int end)//第几加以及结束时间
{
if (pos > n) return true;
for (int i = 1;i <= n;i++)
{
if (st[i] == true) continue;
if (end > t[i] + d[i]) continue;
int newend = max(t[i], end) + l[i];
st[i] = true;
if (dfs(pos + 1, newend)) return true;
st[i] = false;
}
return false;
}
int main()
{
cin >> T;
while (T--)
{
memset(st, 0, sizeof st);
cin >> n;
for (int i = 1;i <= n;i++)
{
cin >> t[i]>>d[i]>>l[i];
}
if (dfs(1, 0)) cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}
好了,今天的内容就分享到这,我们下期再见!