首页 > 其他分享 >题解 洛谷P1478 陶陶摘苹果(升级版)

题解 洛谷P1478 陶陶摘苹果(升级版)

时间:2024-08-08 21:54:20浏览次数:19  
标签:洛谷 shou 力气 int 题解 P1478 苹果 cmp

题目传送门icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1478

截图来自洛谷:

这道题就是这道题的升级版而已,我们可以定义一个结构体分别存抓当前苹果的力气与高度。

之后进行从第1个苹果到第n个苹果的循环,判断当前苹果高度是否够,力气是否够。

最重要的是要排序,因为要摘得苹果最多,所以要先拿需要力气小的。

bool cmp(w a,w b){
	return a.l < b.l;
}

cmp函数就可以这样写这里的a.l和b.l分别表示a苹果需要的力气与b苹果需要的力气。

判断条件可以这样写:

if(a[i].l <= s && a[i].g <= z){
	s -= a[i].l;
	sum++;
}

如果力气、高度都够那就将桃桃总力气(s) - 当前拿苹果需要的力气,并且将计数变量(sum)+1。

完整代码:

#include <bits/stdc++.h>
using namespace std;
struct w{
	int g,l;
};
bool cmp(w a,w b){
	return a.l < b.l;
}
int main(){
	int n,s;
	cin >> n >> s;
	w a[n+1];
	int y,shou,z;
	cin >> y >> shou;
	z = y + shou;
	for(int i = 1;i <= n;++i){
		cin >> a[i].g >> a[i].l;
	}
	int sum = 0;
	sort(a+1,a+n+1,cmp);
	for(int i = 1;i <= n;++i){
		if(a[i].l <= s && a[i].g <= z){
			s -= a[i].l;
			sum++;
		}
	}
	
	cout << sum;
	return 0;
}

希望对你有帮助。

如果可以能点一个赞+关注吗?


标签:洛谷,shou,力气,int,题解,P1478,苹果,cmp
From: https://blog.csdn.net/iclouding/article/details/141036613

相关文章

  • Redis连接问题解决汇总
    Redis连接失败常见解决方案1.检查Redis命令行是否可以正常连接使用命令行客户端,输入:redis-cli-h虚拟机ip地址-p6379-aredis访问密码如若连接成功,输入ping,看控制台是否返回PONG此步骤若正常,则代表虚拟机可正常连接2.Redis命令行无法正常连接1)未打开Redis6379端口......
  • 洛谷P1194 买礼物之警钟敲爆
    洛谷P1194题解传送锚点摸鱼环节买礼物题目描述又到了一年一度的明明生日了,明明想要买\(B\)样东西,巧的是,这\(B\)样东西价格都是\(A\)元。但是,商店老板说最近有促销活动,也就是:如果你买了第\(I\)样东西,再买第\(J\)样,那么就可以只花\(K_{I,J}\)元,更巧的是,\(K_{I,......
  • 牛客多校 A 题题解
    牛客多校8-AHaitangandGameGivenaset\(\textstyleS\),dXqwqandHaitangtaketurnsperformingthefollowingoperations,withdXqwqgoingfirst:Findapair\(\textstyle(x,y)\)suchthat\(\textstylex,y\inS\)and\(\textstyle\gcd(x,y......
  • 洛谷:P1308 [NOIP2011 普及组] 统计单词数
    题目描述一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要......
  • ρars/ey 题解
    给个链接:ρars/ey。我们考虑一个树上背包。设\(f_{u,i}\)表示在\(u\)号节点的子树内删除\(i\)个点的最小代价。显然有答案为\(f_{1,siz_1-1}\)。接下来我们考虑转移。看这一张图:这里红圈内的东西为当前的\(siz_u\),绿圈部分为\(siz_j\)。我们枚举\(x\)为\(u\)子......
  • CF1514D Cut and Stick 题解
    不知道会不会更不好的阅读体验题目的关键步骤为求出区间绝对众数(频率高于\(\left\lceil\frac{len}{2}\right\rceil\))的出现次数,本文仅仅对这一问题进行探讨,剩余的解题步骤不难理解,可以参考其他题解。解法1考虑一个随机化的解法,从区间中随\(40\)个数,假定其为区间绝对众......
  • 电话号码转换 - 华为机试真题题解(Java)
    考试平台:时习知分值:200分(第二题)考试时间:两小时(共2题)题目描述将电话号码转换,需要实现如下的中英文电话号码转换:输入的字符串中每个数字对应为中文数字中的英文单词,如Double表示两个数字相同。将输入的中文数字字符串转换为英文单词的电话号码。若输入不合法,则输出......
  • 图片表格内容识别转换-II - 华为机试真题题解(Java)
    考试平台:时习知分值:200分考试时间:两小时(共2题)题目描述华为云推出了“通用表格识别”服务,可以将图片表格转换成文本数据。请你将文本数据进一步转换为“文本型表格”,如下图所示:输入现给出一个图片表格的文本数据:每行数据形如line3col1A,表示第3行第1列的单......
  • 20240808题解
    话说T2写了个动态树结果考场调不出来,这下大炮打蚊子了。森林(forest)题面:符合条件的森林中深度相同的点度数相同,\(1\lei\len\),求点数为\(i\)的符合条件的森林的种类数。题解:将森林中每一个根节点连到同一个节点上变成一棵树。令\(f(i)\)表示符合条件的树的种类数,那么\(f(i......
  • SSY20240805提高组T2题解
    题干描述题目描述给定一个长度为......