zoukankan      html  css  js  c++  java
  • 洛谷P1223 排队接水

    题目传送门


    分析:题目要求所有人的平均等待时间最少,换句话说就是求等待时间最短,那么要想让等待接水的时间尽可能的短,那么就让接水那个人接水的时间尽可能的短

    贪心策略:让接水时间短的人先接水

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    
    using namespace std;
    
    struct node
    {
        int num;
        int data;
    };
    node person[1005];
    int n;
    long long sum;
    double ans;
    
    inline bool cmp(node x,node y)
    {
        if(x.data==y.data) return x.num<y.num;
        return x.data<y.data;
    }
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&person[i].data);
            person[i].num=i;
        }
        sort(person+1,person+n+1,cmp);
        for(int i=1;i<=n-1;i++)
            sum+=person[i].data*(n-i);
        for(int i=1;i<=n;i++)
            printf("%d ",person[i].num);
        printf("
    ");
        printf("%.2lf",1.0*sum/n);
        return 0;
    }
    View Code
  • 相关阅读:
    TP之Model(select(),add())
    TP之空操作及View模块
    ThinkPHP之初识
    smarty引擎之练习
    领先环境HTML
    php流程
    分页
    弹窗
    邮箱项目
    TP框架修改操作
  • 原文地址:https://www.cnblogs.com/Hoyoak/p/11346080.html
Copyright © 2011-2022 走看看