当前位置: 首页 > news >正文

蓝桥云课 飞机降落

0飞机降落 - 蓝桥云课

问题描述

N架飞机准备降落到某个只有一条跑道的机场。其中第i架飞机在T1时刻到达机场上空,到达时它的剩余油料还可以继续盘旋Di个单位时间,即它最早可以于Ti + Di时刻开始降落。降落过程需要Li个单位时间。
一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不能在前一架飞机完成降落前开始降落。
请你判断N架飞机是否可以全部安全降落。

输入格式

输入包含多组数据。
第一行包含一个整数T,代表测试数据的组数。
对于每组数据,第一行包含一个整数N。
以下N行,每行包含三个整数:Ti,Di和Li。

输出格式

对于每组数据,输出YES或者NO,代表是否可以全部安全降落。

样例输入

2
3
0 100 10
10 100 10
0 220
3
0 10 20
10 20
20 10 20

样例输出

YES
NO

样例说明

对于第一组数据,可以安排第3架飞机于0时刻开始降落,20时刻完成降落。安排第2架飞机于20时刻开始降落,30时刻完成降落。安排第1架飞机于30时刻开始降落,40时刻完成降落。

对于第二组数据,无论如何安排,都会有飞机不能及时降落。

评测用例规模与约定

  • 对于30%的数据,N ≤ 2。
  • 对于100%的数据,1 ≤ T ≤ 10,1 ≤ N ≤ 10,0 ≤ Tᵢ, Dᵢ, Lᵢ ≤ 10⁵。

思路:

仔细看,这个数据量很小,那么我们就可以爆搜。具体内容为,枚举到的飞机的和之前飞机的关系。相互比较。

我们需要考虑到当前枚举到的 飞机最早起飞时间 和 之前飞机到降落时间的关系。请注意,这个参数是叠加的,因为时间在上升。

如果当前飞机最早起飞时间和盘旋时间 >= 之前飞机直到降落的时间,我们需要取这两个的最大值。这是为了保持顺序性。再加上当前飞机的降落时间即可。

代码如下:

#include<bits/stdc++.h>
using namespace std;
struct Node{
	int t,d,l;
}a[15];
int T,n;
bool found;
bool vis[15];
void dfs(int x,int cur)
{
	if(found)
	return;
	if(x > n)
	{
		found = true;
		return;
	}
	for(int i = 1 ; i <= n ; i++)
	{
		int s = a[i].t + a[i].d;
		if(!vis[i] && s >= cur)
		{
			vis[i] = true;
			dfs(x + 1 , max(a[i].t,cur) +  a[i].l);
			vis[i] = false;
		}
	}
}
int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> T;
	while(T--)
	{
		memset(vis,false,sizeof (vis));
		cin >> n;
		for(int i = 1 ; i <= n ; i++)
		cin >> a[i].t >> a[i].d >> a[i].l;
		found = false;
		dfs(1,0);
		if(found)
		cout << "YES" << '\n';
		else
		cout << "NO" << '\n';
	}
	return 0;
}

http://www.dtcms.com/a/99983.html

相关文章:

  • 【CSS】解决因float而导致的父类塌陷问题
  • 【云原生】Keycloak认证登录Grafana
  • 算法-贪心算法
  • Attention is All you Need阅读笔记
  • 使用 uv 管理 Python 项目
  • 摄像头视频信号在 WEB 端的显示和管理:技术与实现步骤
  • AI 的出现是否能替代 IT 从业者?
  • C语言基础(十)---指针基础
  • C++学习之路:指针基础
  • GMap.NET + WPF:构建高性能 ADS-B 航空器追踪平台
  • 【Golang】第十弹----单元测试、go协程和管道
  • 《三极管侦探社:神秘信号放大案》
  • LPDDR(Low Power Double Data Rate)详解
  • J2EE框架技术 第四章 J2EE的IOC
  • 19840 Dijkstra求最短路2
  • 文件上传存储安全OSS 对象分站解析安全解码还原目录执行
  • React编程的核心概念:数据流与观察者模式
  • POSIX 和 System V IPC的区别
  • 微信小程序(下)
  • 02_MySQL安装及配置
  • 去中心化金融的基石——以太坊
  • OSPF协议(1)
  • 海洋大地测量基准与水下导航系列之七我国海洋水下定位装备发展现状(下)
  • 耘想WinNAS:重新定义Windows电脑的存储革命
  • 一文速通Python并行计算:05 Python多线程编程-线程的定时运行
  • 查看达梦数据库对象
  • 信号与系统(郑君里)第一章-绪论 1-24 课后习题解答
  • C++学习之Linux文件编译、调试及库制作
  • 【AI论文】LeX-Art:通过可扩展的高质量数据合成重新思考文本生成
  • 命令窗口tuna.tsinghua.edu.cn,清华镜像源坏了,如何换成阿里源