zoukankan      html  css  js  c++  java
  • Gym

    题目链接
    题目大意:一个人的成绩计算是舍弃5个成绩中的最高分与最低分然后计算平均值,现在你知道了4个值,和一个目标值, 问第5个值最大是多少的情况下平均值可以比目标值小。
      1.当4个值中的最大的三个值的平均值比目标值小的时候,无论第5个值是多大都行。
      2.当4个值中的最小的三个值的平均值比目标值大的时候,无论第5个值是多小都不行。
      3.所以说我们只要在最小值与次小值之间找一个符合题意的数就可以了。
      PS:这题主要问题出在浮点数的判断误差上面,可以使用整型避免出现误差,也可以考虑精度问题之后再进行浮点数比较。

    int main() {
        int arr[5];
        for (int i = 0, a, b; i<5; ++i) {
            scanf("%d.%d", &a, &b);
            arr[i] = 100*a+b;
        }
        sort(arr, arr+4);
        if (arr[1]+arr[2]+arr[3] <= arr[4]*3) printf("infinite
    ");
        else if (arr[0]+arr[1]+arr[2] > arr[4]*3) printf("impossible
    ");
        else {
            int tmp = arr[4]*3-arr[1]-arr[2];
            double ans = tmp/100.0+eps;
            printf("%.2f
    ", ans);
        }
        return 0;
    }
    
    int cmp(double k) {
       if (k>eps) return 1;
        else if (k<-eps) return -1;
        return 0;
    }
    int main() {
        double a[5];
        for (int i = 0; i<5; ++i) scanf("%lf", &a[i]);
        sort(a, a+4);
        double x = 3*a[4]-a[1]-a[2];
        if (cmp(x-a[0])==-1) printf("impossible
    ");
        else if (cmp(x-a[3])>=0) printf("infinite
    ");
        else printf("%.2f
    ", x);
        return 0;
    }
    
  • 相关阅读:
    tableView cell 设置圆角 响应链
    iOS
    git code 初次上传
    隐藏导航栏,偏移20PX
    Mysql数据库远程连接
    umeng推送, 生产环境deviceToken失效可能原因
    KeyChainWrapper
    UIVisualEffectView(高斯模糊效果)
    UVA 11582 Colossal Fibonacci Numbers! 快速幂
    HDU 2859 Phalanx DP
  • 原文地址:https://www.cnblogs.com/shuitiangong/p/12633067.html
Copyright © 2011-2022 走看看