bkbqwq 题目问答 · 2024/4/9
视频题解的check部分似乎有问题唉
tm更新时,应该用(当前时间tm+飞机降落所需时间L)与(飞机实际到达的时间T+飞机降落所需的时间L)中的最大值
0 0 0 47
violet 题目问答 · 2024/4/11
请问为什么报段错误o.0?
写了半天老是报 段错误 VS没报错,洛谷也AC了,请问怎么个事o.0? ```cpp struct plane { int arrive; int dead; int land; }pl [11]; int n, flag; bitset<11> bs; void bfs(int time, int index) { if (index == n) { flag = 1; return ; } for (int i = 0;i<n;i++) { if (bs[i]) continue; //失败条件:当前飞机的到达加盘旋时间超出了当前时间 if (time > pl[i].arrive + pl[i].dead) { return ; } //记录当前时间 int tmp = time; time = max(time, pl[i].arrive) + pl[i].land; bs[i] = 1; bfs(time, index + 1); bs[i] = 0; //失败回溯时间 time = tmp; } } int main() { int T; cin >> T; while (T--) { bs.reset(); flag = 0; cin >> n; for (int i = 0; i < n; i++) { scanf("%d %d %d", &pl[i].arrive, &pl[i].dead, &pl[i].land); } bfs(0, 0); if (flag) cout << "YES" << endl; else cout << "NO" << endl; } return 0; } ```
查看全文
0 0 0 17