蓝桥杯 2023 省B 飞机降落

首先,这题要求的数据量比较少,我们可以考虑考虑暴力解法。

这题可能难在很多情况的考虑,比如说:
        现在时间是10,有个飞机20才到,我们是可以干等10分钟。

#include <iostream>
#include <bits/stdc++.h> // 包含通用的 C++ 头文件
using namespace std;

int flat; // 用于标记是否找到了解

// 深度优先搜索函数,用于寻找飞机降落方案
// 参数解释:
// nums: 存储飞机信息的二维向量,每行包含到达时间、盘旋时间和降落时间
// visited: 存储飞机是否被访问过的布尔向量
// now: 当前时间
// num: 已经访问的飞机数量
void dfs(vector<vector<int> >& nums, vector<bool> visited, int now, int num) {
    if(num == visited.size()) { // 如果已经访问了所有飞机,则找到了解
        flat = 1; // 将解标记为已找到
        return; // 返回
    }
    for(int i = 0; i < nums.size(); i++) { // 遍历所有飞机
        if(flat == 1) // 如果已经找到解,则直接返回
            return;
        if(visited[i] == false && nums[i][0] + nums[i][1] >= now) { // 如果当前飞机未访问且可在当前时间到达
            visited[i] = true; // 标记当前飞机为已访问
            // 递归搜索下一个飞机到达的时间,并更新当前时间和已访问飞机数量
            dfs(nums, visited, max(nums[i][0], now) + nums[i][2], num + 1);
            visited[i] = false; // 回溯,标记当前飞机为未访问
        }
    }
}

int main() {
    int t, n, i;
    cin >> t; // 输入测试用例数量

    while(t--) { // 循环处理每个测试用例
        flat = 0; // 初始化解为未找到
        cin >> n; // 输入当前测试用例中的飞机数量
        // 初始化存储飞机信息的二维向量和访问标记向量
        vector<vector<int> > nums(n, vector<int>(3, 0));
        vector<bool> visited(n, false);
        for(i = 0; i < n; i++) {
            // 输入每架飞机的到达时间、盘旋时间和降落时间
            cin >> nums[i][0] >> nums[i][1] >> nums[i][2];
        }
        // 深度优先搜索找到解
        dfs(nums, visited, 0, 0);
        if(flat == 1) // 如果找到了解,则输出YES
            cout << "YES" << endl;
        else // 否则输出NO
            cout << "NO" << endl;
    }
    return 0;
}


 

相关推荐

  1. 飞机降落[2023B组]

    2024-03-20 10:26:09       15 阅读
  2. B组C++赛——飞机降落(DFS)

    2024-03-20 10:26:09       12 阅读
  3. 2023年第十四届赛真题-飞机降落

    2024-03-20 10:26:09       26 阅读
  4. 2023年第十四届赛真题-飞机降落

    2024-03-20 10:26:09       13 阅读
  5. ——飞机降落

    2024-03-20 10:26:09       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 10:26:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 10:26:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 10:26:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 10:26:09       18 阅读

热门阅读

  1. 简单函数_简单算术表达式求值

    2024-03-20 10:26:09       17 阅读
  2. 设计模式(结构型设计模式——享元模式)

    2024-03-20 10:26:09       18 阅读
  3. 单例模式的两种方法:饥汉模式和懒汉模式

    2024-03-20 10:26:09       18 阅读
  4. CSS实现点击防抖

    2024-03-20 10:26:09       20 阅读
  5. 原型,模板,策略,适配器模式

    2024-03-20 10:26:09       16 阅读
  6. 设计模式(结构型设计模式——适配器模式)

    2024-03-20 10:26:09       16 阅读
  7. flink启动错误(使用YARN)

    2024-03-20 10:26:09       20 阅读
  8. HttpClient4基础

    2024-03-20 10:26:09       21 阅读