陶陶摘苹果

简介: 介绍一个可以用快速排序解决的一个经典题:陶陶摘苹果


这是洛谷上的一道题,原题链接陶陶摘苹果(升级版) - 洛谷


这道题用其他算法比较麻烦,快速排序可以很好解决这一点,当然用冒泡法也可以,不懂快速排序函数的可以看我以前的博客http://t.csdn.cn/tDQXb这里就直接使用


首先输入输出函数等等,可以将苹果的高度和所需要的力气放在一个结构体里,然后将不同的苹果放一个数组中即可

这样就可以将苹果个数,所剩力气大小,每个苹果的高度,所需力气等输入

接下来需要用快速排序将结构体按力气从小到大排序

比较函数(快速排序里面的实现函数)

最后只需要按顺序摘苹果,如果高度足够并且力气足够就可以摘,因为力气是从小到大排列的,不存在其他省力的情况

最后,将完整代码奉上

#include<stdio.h>
#include<stdlib.h>
struct App
{
  int height_;
  int strength_;
};
scanf_(struct App is[], int x)
{
  int i = 0;
  for (i = 0; i < x; i++)
  {
    scanf("%d%d", &((is+i)->height_),&((is+i)->strength_));//输入每个苹果的‘数据’
  }
}
int compar(const void* p1, const void* p2)
{
  return (((struct App*)p1)->strength_ - ((struct App*)p2)->strength_);
}
int main()
{
  struct App is[5001] = { 0 };
  int s = 0, n = 0;
  scanf("%d%d", &n, &s);
  int chair = 0, hand_max = 0;
  scanf("%d%d", &chair, &hand_max);
  scanf_(is,n);
  qsort(is, n, sizeof(is[0]),compar);
  int i = 0, count = 0;
  for (i = 0; i < n; i++)
  {
    if (chair + hand_max >= is[i].height_)
    {
      s -= is[i].strength_;
      if (s >= 0)
      count++;
    }
    if (s < 0)
      break;
  }
  printf("\n%d", count);
  return 0;
}
相关文章
|
Java Linux Shell
Gradle下载与安装
Gradle下载与安装
2321 0
|
11月前
|
JSON 数据挖掘 API
1688店铺所有商品API完整指南
1688店铺所有商品API提供商品信息获取、分页查询与筛选功能,支持JSON格式,适用于商品管理、数据分析及平台集成。包含认证、分页、统计与存储功能,助力高效构建电商应用。(239字)
|
9月前
|
人工智能 知识图谱
黎跃春:AI 智能体运营中的评估机制与反馈闭环设计
在 AI 智能体实际落地过程中,“能生成”并不等于“好用”,更不等于“可长期运行”。缺乏有效评估与反馈机制,是导致智能体效果波动、不可持续优化的核心原因之一。本文从工程与运营视角出发,系统阐述 AI 智能体的评估维度、指标设计与反馈闭环构建方法,重点说明如何将智能体从“一次性生成工具”升级为“可持续演进的工程系统”,为企业级 AI 应用提供可复用的实践参考。
|
10月前
|
人工智能 供应链 自动驾驶
向AI构建能力,用模型产出价值,让金融优质发展
近年来,新一代人工智能技术迅速发展,给各行业的变革带来新的机遇。大模型、智能体、AI基础设施快速升级,面向未来,AI具有新的方向和时代定义,无疑成为新的生产力。
808 0
|
API 数据安全/隐私保护
手机一键导出微信群成员名单工具,微信群WXID微信号导出软件,批量导出群成员工具
这段代码使用了itchat库,这是一个基于网页版微信API的第三方库。请注意实际使用时需要扫描二维码登录
|
自然语言处理 算法 数据挖掘
模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
【8月更文挑战第12天】模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
4987 9
模块化RAG技术路线图:从基础Naive RAG 到Modular RAG全方位技术解读
|
机器学习/深度学习 人工智能 数据挖掘
LREC 2024:汪汪to Vector!密歇根博士生用AI解码狗的声音
【6月更文挑战第18天】在LREC 2024会议上,密歇根大学博士生展示了如何用AI解码狗叫声。研究团队应用Wav2Vec2模型,原本用于人类语音识别,来分类狗的叫声,包括情绪、品种、性别和上下文。实验显示,模型准确度提升超20%,但研究尚局限于特定品种,且依赖标注数据。[链接:https://arxiv.org/pdf/2404.18739](https://arxiv.org/pdf/2404.18739)
1471 1
|
存储 机器学习/深度学习 算法
|
算法 搜索推荐 C++
C++数据结构算法(二)排序算法集合(二)
C++数据结构算法(二)排序算法集合(二)
C++数据结构算法(二)排序算法集合(二)
|
Prometheus Cloud Native NoSQL
【2023】Prometheus-Prometheus与Alertmanager配置详解
【2023】Prometheus-Prometheus与Alertmanager配置详解
1806 0
【2023】Prometheus-Prometheus与Alertmanager配置详解