蓝桥杯 2023省B 飞机降落 dfs

传送门 P9241 [蓝桥杯 2023 省 B] 飞机降落 - 洛谷

n<=10,考虑dfs,只有当 当前飞机的到达时刻+盘旋时间 <= 上一个飞机降落的时刻 时,当前飞机才能降落

cpp 复制代码
const int N = 1e3 + 10;


int n;
struct Node
{
	LL t,d,l;
}a[N];

bool st[N];

bool dfs(int u,LL last)
{
	if (u > n) return true;
	

	for (int i = 1;i <= n;i ++)
	{
		
		if (!st[i] && a[i].t + a[i].d >= last)
		{
			st[i] = true;
			if (dfs(u + 1,max(a[i].t,last) + a[i].l)) return true;
			st[i] = false;
		}
	}
	
	
	return false;
}

void solve()
{
	cin >> n;
	memset(st,0,sizeof st);
	
	for (int i = 1;i <= n;i ++)
	{
		int t,d,l;cin >> t >> d >> l;
		a[i] = {t,d,l};
	}		
	
	if (dfs(1,0)) cout << "YES" << endl;
	else cout << "NO" << endl;
	
}
相关推荐
郝学胜-神的一滴3 分钟前
中秋特别篇:使用QtOpenGL和着色器绘制星空与满月
开发语言·c++·算法·软件工程·着色器·中秋
qiuiuiu41322 分钟前
CPrimer Plus第十六章C预处理器和C库总结2-qsort函数
java·c语言·算法
JuneXcy1 小时前
C++知识点总结用于打算法
c++·算法·图论
ajassi20001 小时前
开源 C++ QT QML 开发(六)自定义控件--波形图
c++·qt·开源
_OP_CHEN1 小时前
C++基础:(八)STL简介
开发语言·c++·面试·stl
it技术3 小时前
C++ 设计模式原理与实战大全-架构师必学课程 | 完结
c++
zhuzhuxia⌓‿⌓3 小时前
线性表的顺序和链式存储
数据结构·c++·算法
小苏兮3 小时前
【C++】stack与queue的使用与模拟实现
开发语言·c++
未知陨落3 小时前
LeetCode:95.编辑距离
算法·leetcode