测试点有问题吧
查看原帖
测试点有问题吧
751881
icypenguin/ll楼主2023/5/5 18:30

一片 2020 分的。

code:

#include <iostream>
#include <cstring>
using namespace std;
int T, n, t[15], d[15], l[15], startt[15], endd[15], book[15], llast = -1;
bool flag = false;
int dfs(int step, int llast){
    if (step == n + 1){
        flag = true;
        return 0;
    }
    if (flag){
        return 0;
    }
    for (int i = 1; i <= n; i++){
        if (!book[i]){
            if (t[i] + d[i] < llast){
                return 0;
            }
            book[i] = 1;
            int s = t[i];
            if (s < llast){
                s = llast;
            }
            dfs(step + 1, s + l[i]);
            book[i] = 0;
        }
    }
    return 0;
}
int main(){
    cin >> T;
    while (T--){
        flag = false;
        memset(book, 0, sizeof(book));
        cin >> n;
        for (int i = 1; i <= n; i++){
            cin >> t[i] >> d[i] >> l[i];
        }
        dfs(1, -1);
        if (flag){
            cout << "YES" << endl;
        }else{
            cout << "NO" << endl;
        }
    }
    return 0;
}
2023/5/5 18:30
加载中...