https://www.dotcpp.com/oj/train/1089/

题目 3150: 蓝桥杯2023年第十四届省赛真题-冶炼金属

题目描述

小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金

属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时,无法继续冶炼。

现在给出了 N 条冶炼记录,每条记录中包含两个整数 A 和 B,这表示本次投入了 A 个普通金属 O,最终冶炼出了 B 个特殊金属 X。每条记录都是独立

的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。

根据这 N 条冶炼记录,请你推测出转换率 V 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。

输入格式

第一行一个整数 N,表示冶炼记录的数目。

接下来输入 N 行,每行两个整数 A、B,含义如题目所述。

输出格式

输出两个整数,分别表示 V 可能的最小值和最大值,中间用空格分开。 

样例输入

3
75 3
53 2
59 2

 样例输出

20 25

解题思路:

 代码:

#include<iostream>
#include<stack>
using namespace std;
int n,a,b,Max,Min,flag;
int main()
{
	cin >> n;
	while(n--)
	{
		cin >> a >> b;
		if(flag)
		{
			Max = Max > a/b ? a/b : Max;
			Min = Min < a/(b+1) ? a/(b+1) : Min;
		}
		else
		{
			Max = a/b;
			Min = a/(b+1); 
			flag = 1;
		}
	}
	cout << Min + 1 << " " << Max;
	return 0;
}

题目 3151: 蓝桥杯2023年第十四届省赛真题-飞机降落

题目描述

N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di 个单位时间,即它最早

可以于 Ti 时刻开始降落,最晚可以于 Ti + Di 时刻开始降落。降落过程需要 Li个单位时间。

一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不能在前一架飞机完成降落前开始降落。

请你判断 N 架飞机是否可以全部安全降落。

输入格式

输入包含多组数据。

第一行包含一个整数 T,代表测试数据的组数。

对于每组数据,第一行包含一个整数 N。

以下 N 行,每行包含三个整数:Ti,Di 和 Li。

输出格式

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

样例输入

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

 样例输出

YES
NO

解题思路:

 代码:

#include<iostream>
using namespace std;
const int N = 11;
int t,n,vis[N];

struct node{
	int t,d,l;
}plane[N];

bool DFS(int t,int num)
{
	if(num == n)	return true;
	for(int i = 0; i < n; i++)
	{
		if(!vis[i] && (plane[i].t+plane[i].d >= t))
		{
			vis[i] = 1;
			if(DFS(max(t,plane[i].t)+plane[i].l , num+1))
				return true;
			vis[i] = 0;
		}
	}
	return false;
}

int main()
{
	cin >> t;
	while(t--)
	{
		fill(vis,vis+n,0);
		cin >> n;
		for(int i = 0; i < n; i++)
			cin >> plane[i].t >> plane[i].d >> plane[i].l;
		if(DFS(0,0))
			cout << "YES" << endl;
		else 
			cout << "NO" << endl;
	}
	return 0;
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐