蓝桥杯 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;
	
}
相关推荐
叶小鸡11 分钟前
小鸡玩算法-力扣HOT100-贪心算法
算法·leetcode·贪心算法
cany100018 分钟前
C++ - 智能指针
开发语言·c++
Old Uncle Tom19 分钟前
提示词编写规范
数据库·算法
火山口车神丶22 分钟前
如何借助AI进行模块封装DIY
javascript·人工智能·算法
EnCi Zheng27 分钟前
S10-蓝桥杯 17822 乐乐的积木塔
职场和发展·蓝桥杯
MegaDataFlowers27 分钟前
15.三数之和
算法
Emberone1 小时前
深入理解 C++ STL string:从接口使用到底层模拟实现
c++·stl
贾斯汀玛尔斯1 小时前
每天学一个算法--一致性哈希(Consistent Hashing)
算法·哈希算法
t***5441 小时前
如何在 Dev-C++ 中设置和使用 Clang 编译器
开发语言·c++
楼田莉子2 小时前
CMake学习:CMake语法
c++·后端·学习·软件构建