14届蓝桥杯省赛 C/C++ B组 T4 飞机降落 (DFS)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
记录此题提醒自己,此类时间轴问题可以通过DFS解决 DFS不是能解决所有题吗

对于此题,我们将降落的飞机的个数和时间轴作为DFS的形参,这样可以节省手动回溯的过程。

并且在DFS的过程中我们要加入一些贪心策略,否则直接爆搜有可能搜不出来答案。
如果一个飞机的到达时刻加上盘旋时间能够超过或者等于上一架飞机降落后的时间,那么就可以降落。

之后要再进行判断,如果这个飞机的到达时间是超过了上一架飞机降落后的时间的,那么就直接把t[i] + l[i]当作下一层的时间,否则的话,把上一个飞机降落的时间加上当前飞机降落的时间当做下一层的时间。

#include<iostream>
#include<cstring>
using namespace std;
const int N = 15;

struct Node {
    int t;
    int d;
    int l;
}a[N];
int flag = 0;
int n;
bool vis[N];

void dfs(int u, int time) {
    if (flag)return;

    if (u == n) {
        flag = 1;
        return;
    }

    for (int i = 1; i <= n; i++) {
        if(!vis[i]){
            if(a[i].t + a[i].d >= time){
                vis[i] = 1;
                if(time > a[i].t)dfs(u+1,time + a[i].l);
                else dfs(u+1,a[i].t + a[i].l);
                vis[i] = 0;
            }
        }
    }
}

int main() {
    int t; cin >> t;

    while (t--) {
        memset(vis,0,sizeof vis);
        cin >> n;

        for (int i = 1; i <= n; i++)cin >> a[i].t >> a[i].d >> a[i].l;

        dfs(0,0);

        if (flag)cout << "YES" << endl;
        else cout << "NO" << endl;
        
        flag = 0;
    }
    return 0;
}

相关推荐

  1. BC++——飞机降落DFS

    2024-04-08 08:54:04       13 阅读
  2. 飞机降落[2023B]

    2024-04-08 08:54:04       18 阅读
  3. 2023年第十四真题-飞机降落

    2024-04-08 08:54:04       26 阅读
  4. 2023年第十四真题-飞机降落

    2024-04-08 08:54:04       14 阅读
  5. 练习-dfs算法飞机降落问题

    2024-04-08 08:54:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 08:54:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 08:54:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 08:54:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 08:54:04       20 阅读

热门阅读

  1. 【Framework系列】Framework系列介绍

    2024-04-08 08:54:04       15 阅读
  2. 能源党建后台项目总结

    2024-04-08 08:54:04       14 阅读
  3. Python中的常见加密算法实践

    2024-04-08 08:54:04       12 阅读
  4. 贪心算法思想

    2024-04-08 08:54:04       14 阅读
  5. Access数据库

    2024-04-08 08:54:04       11 阅读
  6. 2024.4.1力扣每日一题——故障键盘

    2024-04-08 08:54:04       17 阅读
  7. AI智能电销机器人获客的方法

    2024-04-08 08:54:04       11 阅读
  8. ssh -CNg -L

    2024-04-08 08:54:04       16 阅读
  9. linux CentOS7配置docker的yum源并安装

    2024-04-08 08:54:04       14 阅读