每日一题-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;
}
相关推荐
05候补工程师6 分钟前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
上弦月-编程26 分钟前
【C语言逻辑题】谋杀案凶手是谁?——经典矛盾推理题详解
算法
天若有情67337 分钟前
逆向玩家狂喜!用C++野生写法一键破解线性加密(不规范但巨好用)
开发语言·c++·算法
风筝在晴天搁浅1 小时前
剑指Offer 60.n个骰子的点数
算法
ProgramHelpOa1 小时前
Optiver 2026 OA 全面复盘|26NG / Intern 最新高频题型整理
人工智能·算法·机器学习
feifeigo1231 小时前
基于无迹变换的电网概率潮流分析 MATLAB 实现
开发语言·算法·matlab
Java成神之路-1 小时前
【算法刷题笔记】全题型导航目录
笔记·算法
爱写代码的倒霉蛋1 小时前
2022年天梯赛L1-8真题解析(哈希+排序)
数据结构·算法
Struggle_97551 小时前
算法知识-倍增算法
算法
计算机安禾1 小时前
【计算机网络】第5篇:网桥学习与生成树算法——环路拓扑中的路径收敛问题
学习·计算机网络·算法