[蓝桥杯 2023 省 B] 飞机降落(暴搜DFS+贪心)

总结:为什么你看到题想不出来怎么写呢,我想不到这道题还会用到dfs的思想,顶多能知道可能会有贪心,还是得多做题。

这道题让我想起来导弹拦截借教室,记得有空做做!!不要研究难题,把基本算法研究透了!!!别死磕,要灵活!

DFS代码:

cpp 复制代码
//要用DFS 
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;

int tt;
int n;
struct node{
	int t;
	int d;
	int l;
};
node a[15];

bool st[15];

bool dfs(int u,int last){
	if(u == n) return true;//如果搜索过所有点
	for(int i=0;i<n;i++){
		int t=a[i].t,d=a[i].d,l=a[i].l;
		if(!st[i] && t+d >= last)//如果没有被搜索过,并且 这一次a[i]的开头在上一次结束的时间后面
		{
			st[i] = true;//能被搜索
			if(dfs(u+1,max(last,t)+l))
				return true;
			st[i] = false;//恢复现场	
		} 
	} 
	return false; 
}
int main()
{
	scanf("%d",&tt);
	while(tt--){

		scanf("%d",&n);
		for(int i=0;i<n;i++){
			scanf("%d%d%d",&a[i].t,&a[i].d,&a[i].l);
			//或者scanf("%d%d%d",&t,&d,&l);
			//    p[i] = {t,d,l}; 
		}
		memset(st,false,sizeof(st));
		if(dfs(0,0)) puts("YES");
		else puts("NO");
	}
	return 0;
}
相关推荐
仟濹12 小时前
【算法打卡day6 | 2026-02-11 周三 | 算法: BFS and BFS】| 8_卡码网104_建造最大岛屿 | 9_卡码网106_海岸线计算
算法·深度优先·广度优先·宽度优先
TracyCoder12313 小时前
LeetCode Hot100(35/100)——200. 岛屿数量
算法·leetcode·深度优先
会编程的土豆18 小时前
深度优先搜索dfs和广度优先搜索例题bfs
算法·深度优先·图论·洛谷
_OP_CHEN18 小时前
【算法基础篇】(六十)Nim 博弈超全解析:从基础原理到经典变种,玩转多堆取石子问题
算法·蓝桥杯·c/c++·博弈论·算法竞赛·acm、icpc·nim博弈
近津薪荼2 天前
dfs专题6——二叉树的所有路径
c++·学习·算法·深度优先
robinson19882 天前
测试Oracle-崖山-DM-GaussDB树形查询性能
深度优先·广度优先·树形查询
觅特科技-互站2 天前
政务AI口播落地难?矩阵跃动一体机实测:本地离线+等保三级,某省大数据局3天完成信创部署
大数据·人工智能·深度优先·kmeans·政务
会编程的土豆2 天前
深度优先搜索刷题(方向数组+DFS思想):解决矩阵单词搜索问题的标准解法
算法·深度优先·图论·洛谷
BLOLCO2 天前
揭秘变色马克杯性价比之王:这家生产商为何让同行颤抖?
蓝桥杯
YuTaoShao2 天前
【LeetCode 每日一题】1382. 将二叉搜索树变平衡——中序遍历 - 数组 - 平衡 BST
算法·leetcode·深度优先