4095: love168yk的选美大赛 

Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByte
Total Submit: 51            Accepted:7

Description

话说最近love168yk参加了数信学院的选美大赛,跟他同台参加的还有N-1位MM,love168yk自知没有多大希望赢得比赛,但是他又不想这么早就被淘汰(分数最低就被淘汰),只要每个人的分数一样他就熬过第一轮预选赛了,分数是由两部分组成的,一部分是裁判给的分数,另一部分是观众给的,每个人一开始都有裁判给的分Ji,分数层次不齐,接着观众投票阶段就看观众对于选手的支持率Yi了,观众的支持率按百分比来算,且每个观众最多给一位选手投票,也就是说总的支持率加起来刚好是1,总分是选手得到的裁判分+观众支持率*总裁判分(N个人得到的裁判分总和X)即Ji+Yi*X,分数最低的就淘汰了,现在让你写一个程序来,让你计算出每个选手应得到多少的支持率,满足不能出现单个最低分数,应为出现了单个最低就将被淘汰,且要满足每个人得到的支持率最小,且不可能出现裁判总分为0的情况!!!

Input

测试数据有多组,第一行T表示有T组数据,接下来T行,每行的第一个数字N表示有多少参赛选手,后面跟着N个数据Ji都用空格隔开。2<N<200,  0>=Ji<=100.

Output

每组测试数据每行输出"Case #x: ",接着N个数据分别表示每位选手应得得支持率mi,x从1开始,mi保留两位小数。

Sample Input

4
2 20 10
2 10 0
4 25 25 25 25
3 24 30 21

Sample Output

Case #1: 33.33 66.67
Case #2: 0.00 100.00
Case #3: 25.00 25.00 25.00 25.00
Case #4: 34.67 26.67 38.67

这个题还是比较好的,早上写了一下wa,下午搬完书回来就在想

最早的贪心过程就是按照权值其实和求全部数的平均数思想一样,不过是绕了个弯

提交一发wa,然后发现可能有输出负数的操作,又交了几发

最后我的贪心过程是选小的数看它们最多能加到多少,然后求下平均数,大数均输出0.00就好

其实这个题就限制了只能用类似的贪心过程,下面的数相加可能大于100也可能小于100的

#include <stdio.h>
#include <algorithm>
using namespace std;
int a[],b[];
int main()
{
int T;
while(~scanf("%d",&T))
{
int k=;
while(T--)
{
int n,s1=;
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
s1+=a[i];
}
sort(b+,b+n+);
int f=n,s=b[];
for(int i=; i<=n; i++)
{
s+=b[i];
if(s+s1<i*b[i])
{
f=i-;
s-=b[i];
break;
}
}
s+=s1;
printf("Case #%d:",k++);
for(int i=; i<=n; i++)
if(a[i]>b[f])
printf(" 0.00");
else
printf(" %.2f",(s*./f-a[i])*/s1);
putchar();
}
}
return ;
}

 

 

最新文章

  1. js笔记
  2. multiwii 2.4配置页面中文注释
  3. EXISTS语句
  4. php Curl_setop 的学习
  5. URAL(DP集)
  6. C++11内存模型的一些补充阅读材料
  7. c++内存管理错误记录
  8. 《JAVA与模式》之简单工厂模式
  9. openlayer的凸包算法实现
  10. Unity StrangeIoC HelloWorld
  11. layui-xtree 设置单选框,只能选一个
  12. 【原创】ucos信号量的操作及原理
  13. c++入门之浅拷贝和深拷贝
  14. C#异常断电后重新启动项目出现配置未初始化错误
  15. ARCSDE直连Oracle时出现错误Failed to connect to the specified server. Underlying DBMS error[ORA-12154: TNS:could not resolve the connect identifier specified. No extended error]
  16. 开启Unity3D之旅
  17. Python 数据处理库 pandas
  18. 【Java并发编程】之四:守护线程与线程阻塞的四种情况
  19. hibernate 启动和辅助类实现资源的重复使用
  20. getParameter的用法及含义

热门文章

  1. ubuntu键盘映射
  2. Spring MVC 入门实例报错404的解决方案
  3. 微信公众号与HTML 5混合模式揭秘5——JSSDK开发技巧1
  4. this的三个要点
  5. iOS Runloop 消息循环
  6. 如何使用KeyChain保存和获取UDID
  7. nGrinder技术架构图
  8. aspose.cell 给excel表格设置样式
  9. shell 简单脚本 2
  10. 前端性能优化:细说JavaScript的加载与执行