蓝桥杯 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;
	
}
相关推荐
海琴烟Sunshine1 小时前
leetcode 383. 赎金信 python
python·算法·leetcode
上去我就QWER3 小时前
Qt快捷键“魔法师”:QKeySequence
开发语言·c++·qt
将编程培养成爱好6 小时前
C++ 设计模式《外卖骑手状态系统》
c++·ui·设计模式·状态模式
猿太极6 小时前
设计模式学习(3)-行为型模式
c++·设计模式
cynicme7 小时前
力扣3228——将 1 移动到末尾的最大操作次数
算法·leetcode
熬了夜的程序员7 小时前
【LeetCode】109. 有序链表转换二叉搜索树
数据结构·算法·leetcode·链表·职场和发展·深度优先
随意起个昵称7 小时前
【递归】二进制字符串中的第K位
c++·算法
mjhcsp8 小时前
C++ 循环结构:控制程序重复执行的核心机制
开发语言·c++·算法
立志成为大牛的小牛8 小时前
数据结构——四十一、分块查找(索引顺序查找)(王道408)
数据结构·学习·程序人生·考研·算法
遇印记8 小时前
蓝桥java蜗牛
java·学习·蓝桥杯