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

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

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

DFS代码:

//要用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;
}

相关推荐

  1. B组C++赛——飞机降落DFS

    2024-03-20 20:42:03       13 阅读
  2. 飞机降落[2023B组]

    2024-03-20 20:42:03       18 阅读
  3. 练习-dfs算法飞机降落问题

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

    2024-03-20 20:42:03       26 阅读

最近更新

  1. TCP协议是安全的吗?

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

    2024-03-20 20:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

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

    2024-03-20 20:42:03       20 阅读

热门阅读

  1. 去除项目git的控制 端口号的关闭

    2024-03-20 20:42:03       22 阅读
  2. 对建造者模式的理解

    2024-03-20 20:42:03       19 阅读
  3. 《建造者模式(极简c++)》

    2024-03-20 20:42:03       24 阅读
  4. Doris案例篇—美团外卖数仓中的应用实践

    2024-03-20 20:42:03       20 阅读
  5. 前端面试小节

    2024-03-20 20:42:03       18 阅读