2045第六题 拯救花园 (flowers)

题目大意:
有n只兔子,每只兔子抓回去的时间为ti,回来的时间也是ti,则抓一只兔子要2*ti的时间,di则为每只兔子一个时间单位能吃多少草,用最优方法做的话它们一共吃了多少草(最少)
贪心标准:
我们先把每一只兔子的性价比算出来(di/ti),及在一个时间单位里能阻止吃多少草,如果性价比相同,则根据其他兔子在这只兔子搬运的时间中能吃多少草进行比较

#include <bits/stdc++.h>
using namespace std;
long long a,d,sum=0,h[1000],l,ddd;
struct node{//定义1个称为node的一个结构体;
    long long t;
    long long d;
    double xing;//调用的数据类型
} k[1000];//使用的数组
bool cmp(node f1,node f2){//调用两个名称为node的结构体
    return(f1.xing>f2.xing)||((f1.xing==f2.xing)&&f1.t*(d-f1.d)<f2.t*(d-f2.d));
//先根据性价比,再根据边的兔子的吃草量    
}
int main()
{
    cin>>a;
    for(int i=1;i<=a;i++){
        cin>>k[i].t>>k[i].d;
        k[i].xing=k[i].d*1.00/double(k[i].t);//算性价比,不能k[i].d/k[i].t*1.00 因为先除出来的是整数再乘小数相当于没乘
        ddd+=k[i].d;//算所有兔子在一个时间单位内能吃多少草
    }
    sort(k+1,k+1+a,cmp);
    for(int i=1;i<=a;i++){
        ddd-=k[i].d;//减除在抓的兔子的吃草量
        sum+=k[i].t*ddd*2;//因为搬运时间有两趟,所以乘2,
    }
    cout<<sum;
    return 0;
}

相关推荐

  1. 力扣204“计数质数”

    2024-02-20 05:40:01       7 阅读
  2. 力扣205“同构字符串”

    2024-02-20 05:40:01       5 阅读
  3. 章2 总结+若干实战

    2024-02-20 05:40:01       40 阅读
  4. 代码随想录-刷五十

    2024-02-20 05:40:01       41 阅读
  5. 《C++ Primer Plus》章课后

    2024-02-20 05:40:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 05:40:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 05:40:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 05:40:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 05:40:01       20 阅读

热门阅读

  1. 搜索+哈希/平衡树,LeetCode 987. 二叉树的垂序遍历

    2024-02-20 05:40:01       33 阅读
  2. 大数据经责审计

    2024-02-20 05:40:01       34 阅读
  3. the file size exceeds the configured limit Android studio

    2024-02-20 05:40:01       24 阅读
  4. c++ %运算符

    2024-02-20 05:40:01       27 阅读
  5. 2024前端面试准备之Vue3篇

    2024-02-20 05:40:01       36 阅读
  6. docker的底层原理一:客户端-服务器架构

    2024-02-20 05:40:01       31 阅读
  7. LeetCode--2298. 周末任务计数

    2024-02-20 05:40:01       29 阅读
  8. LeetCode刷题小记 一、【数组】

    2024-02-20 05:40:01       29 阅读