dfs:飞机降落
题目P9241 [蓝桥杯 2023 省 B] 飞机降落 - 洛谷做题目之前一定要先看数据范围。这道题的数据范围T,N均10可以用暴力搜索。这道题是排序假设有3辆飞机。顺序可以是123132213231312321。end是上一辆飞机的落地时间。这一辆飞机的出发时间要么是end要么是a[i]上一辆飞机落地了这一辆飞机还没来出发时间begin是a[i]。a[i]是这辆飞机的到达时间。上一辆飞机落地了这一辆飞机已经到了甚至已经在盘旋了。出发时间begin是endend是上一辆飞机的落地时间如果出发时间晚于这辆飞机的最晚等待时间continue。落地时间 出发时间落地花费的时间。#include iostream #include algorithm #include cstring using namespace std; const int N 15; int n; int t[N], d[N], l[N]; bool st[N]; //排序 //cnt是合格的飞机数量end是到达时间 bool dfs(int cnt, int end) { if (cnt n) return true; for (int i 1; i n; i) { if (st[i] true) continue; int begin max(t[i], end); if (begin t[i] d[i]) continue; begin l[i]; st[i] true; if (dfs(cnt1, begin)) return true; st[i] false; } return false; } int main() { int T; cin T; while(T--) { cin n; for (int i 1; i n; i) { cin t[i] d[i] l[i]; } if (dfs(0, 0)) cout YES endl; else cout NO endl; memset(st, 0, sizeof(st)); //记得重置布尔数组 } return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2453396.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!