您的位置:首页 > 其它

(贪心)最优服务次序问题

2013-08-08 00:15 239 查看
题目:点击打开链接

最简单的贪心,按服务时间降序排列,这样等待服务的总时间最短,每个人的服务时间也是该人的等待时间的一部分,需要加入。。。

下面是AC代码:

#include <stdio.h>  

int main()  

{  

    int t,a[1000+10],i,j,k,sum;  

    scanf("%d",&t);  

    for(i=0;i<t;i++)  

        scanf("%d",&a[i]);  

    for(i=0;i<t-1;i++)  

        for(j=0;j<t-1-i;j++)  

            if(a[j]>a[j+1])  

            {  

                int temp=a[j];a[j]=a[j+1];a[j+1]=temp;  

            }  

    sum=0;  

    for(i=0;i<t;i++)  

    {  

        sum+=a[i]*(t-i);  

    }  

    printf("%.2lf\n",sum/(t*1.0));  

    return 0;  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  贪心