閱讀99 返回首頁    go 阿裏雲 go 技術社區[雲棲]


HDU4520-小Q係列故事——最佳裁判

小Q係列故事——最佳裁判
Time Limit 500200 MS (JavaOthers)    Memory Limit 6553532768 K (JavaOthers)
Total Submission(s) 1690    Accepted Submission(s) 819


Problem Description
  過去的2012年對小Q來說是很悲催的一年,失戀了12次,每次都要鬱悶1個來月。
  好在小Q是個體育迷,在最痛苦的時候,他常常用觀看各種體育節目來麻醉自己,比如倫敦奧運會期間,小Q就常常在周末邀上一群單身同

事聚在自己的蝸居,一邊暢飲啤酒,一邊吹牛。
  小Q最喜歡看的是跳水,主要原因也是因為這個項目有中國人參加,而且中國隊員獲勝的幾率很大,一般不會再給自己添堵,不然何談看體

育療情傷呢。
  跳水項目的一個重要環節就是裁判打分,小Q他們有時候會覺得某個裁判不公平,是不是有意在壓中國隊員的分數。於是每當一個隊員跳水

完畢,他們幾個也像電視上的裁判那樣給隊員打分,並且規定,誰的分數和最終得分最接近誰就是他們當中的最佳裁判,現場獎勵啤酒一杯!
  其中,最終得分是這樣計算的:N個人打分,去掉一個最高分,去掉一個最低分,然後剩餘分數相加,再除以N-2即為最終得分。
  憑借“看體育療情傷”而練就的專業體育知識,小Q幾乎每局必勝,這一夜,小Q注定要爛醉如泥了......

 

Input
  輸入包含多組測試用例。
  每組測試用例首先是一個整數N,表示裁判的人數,然後接著是N個實數,表示N個裁判的打分Pi,N為0時結束輸入。
  [Technical Specification]
  5 = N = 20
  0=Pi=10
 

Output
  請計算並輸出最佳裁判的編號,每組數據輸出占一行,若有多人並列最佳裁判,隻要求輸出編號最小的那個。
  特別說明:裁判編號按照打分的順序從1開始,依次類推,最後一人編號為N。
 

Sample Input
5 8.3 9.2 8.7 8.9 9.0
0
 

Sample Output
4
 

Source
2013騰訊編程馬拉鬆初賽第四場(3月24日)


偷偷水一題
AC代碼:

#include <stdio.h>
#include <math.h>
double a[100];
int main() 
{
    int i,n,flag;
    double min,max,sum,num,Min;
    while(scanf("%d",&n),n!=0)
    {
        for(i=0;i<n;i++) 
        scanf("%lf",&a[i]);
        min=999,max=-999,sum=0;
        for(i=0;i<n;i++) 
        {
            if(a[i]<min) 
                min=a[i];
            if(a[i]>max) 
                max=a[i];           
            sum+=a[i];
        }
        num=(sum-min-max)/(n-2);
        Min=999;
        for(i=0;i<n;i++)
        {
            if(Min>fabs(a[i]-num))
            {
                Min=fabs(a[i]-num);
                flag=i;
            }
        }
        printf("%d\n",flag+1);
    }
    
    return 0;
}

最後更新:2017-04-03 12:56:30

  上一篇:go 三種方式實現自定義圓形頁麵加載中效果的進度條
  下一篇:go 深入探討Box2D中ghost collision問題解決方案