zoukankan      html  css  js  c++  java
  • hdu 4520 小Q系列故事——最佳裁判 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4520

        

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <math.h>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n, i, besti;
     9     double p[30], sor[30], final, sum, min;
    10     while (cin >> n && n)
    11     {
    12         besti = sum = 0;
    13         for (i = 0; i < n; i++)
    14         {
    15             scanf("%lf", &p[i]);
    16             sor[i] = p[i];
    17             sum += p[i];
    18         }
    19         sort(p, p+n);
    20         final = (sum - p[0] - p[n-1]) / (n-2);
    21         min = fabs(final - sor[0]);   
    22         for (i = 1; i < n; i++)
    23         {
    24             if (min > fabs(final-sor[i]))
    25             {
    26                 min = fabs(final-sor[i]);
    27                 besti = i;
    28             }
    29         }
    30         printf("%d\n", besti+1);
    31     }
    32     return 0;
    33 }

    besti 没有赋初值,wa了无数次,一开始还以为不能用第一个数赋予min;还有一种想法是,听别人说,fabs会丢失精度.其实,最关键的是赋初值!!!!!

  • 相关阅读:
    记录输出时间
    ***灵感或者没想到的思想
    Managing Difficulties
    4.20
    单调队列
    背包
    线性DP
    可持久化数据结构
    平衡树
    点分治
  • 原文地址:https://www.cnblogs.com/windysai/p/3083198.html
Copyright © 2011-2022 走看看