每日一题-dfs

P9241 蓝桥杯 2023 省 B 飞机降落

https://www.luogu.com.cn/problem/P9241

这道题的难点就是顺序问题,那么可以设置一个标记数组,访问没有标记过的。同时控制进程和时间

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=15;
int book[N],n,T;
struct plane{
    int t,d,l;
}a[N];
bool dfs(int dep,int t){
    if(dep==n){
        return true;
    }
    for(int i=0;i<n;i++){
        if(book[i]||a[i].t+a[i].d<t){
            continue;
        }
        book[i]=1;
        if(dfs(dep+1,max(t,a[i].t)+a[i].l)){
            book[i]=0;//成功时返回前回溯
            return true;//找到可行方案,立即返回
        }
        book[i]=0;//失败时回溯
    }
    return false;
}
int main(){
    cin>>T;
    while(T--){
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>a[i].t>>a[i].d>>a[i].l;
        }
        memset(book,0,sizeof book);
        if(dfs(0,0)) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}
相关推荐
Zldaisy3d5 分钟前
全球唯一仿真驱动自适应扫描路径新版本发布,金属3D打印工艺开发进入算法时代
算法·3d
小江的记录本9 分钟前
【JVM虚拟机】类加载机制:类加载全流程:加载→验证→准备→解析→初始化(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·算法·安全·spring·面试
故事和你9143 分钟前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯1 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
weixin_468466852 小时前
图像滤波算法新手实战指南
图像处理·人工智能·算法·计算机视觉·ai·机器视觉·滤波
Ulyanov2 小时前
深入QML-Python通信 构建响应式交互界面的桥梁设计:QML+PySide6现代开发入门(五)
开发语言·python·算法·交互·qml·系统仿真
重生之我是Java开发战士2 小时前
【贪心算法】加油站,单调递增的数字,坏了的计算器,合并区间,用最少数量的箭引爆气球
算法·贪心算法
小欣加油2 小时前
leetcode 3300 替换为数位和后的最小元素
数据结构·c++·算法·leetcode
晚风予卿云月2 小时前
【枚举】普通枚举
数据结构·c++·算法·竞赛·算法随笔
IronMurphy2 小时前
【算法五十三】1143. 最长公共子序列
算法