题意:n个抢劫犯分别抢到的金钱是k1, k2, k3,...,一共得到的金钱是m,
但是在分钱的时候是按照x1/y, x2/y, x3/y,....的比例进行分配的!这样的话
一些抢劫犯就会觉得不公平,不公平度为|xi/y - ki/m|(浮点运算), 输出一个序列ki,使得
总的不公平度最小.....

思路:很明显的贪心! 首先按照 [xi/y](取整)的比例将每一个人得到的钱求出来(ni),然后会得到
剩下的钱数, 最后在所有人中找到谁分配的相对比例少了,也就是xi/y*m - ni的最大值!找到这个人
之后,将他得到的钱数加 1!

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #define N 1006
 5 using namespace std;
 6
 7 int num[N];
 8 int x[N];
 9 bool flag[N];
10
11 int main(){
12     int n, m, y;
13     while(scanf("%d%d%d", &n, &m, &y) != EOF){
14         memset(flag, 0, sizeof(flag));
15         int left = 0;
16         for(int i=1; i<=n; ++i){
17             scanf("%d", &x[i]);
18             num[i] = x[i]*m/y;
19             left += num[i];
20             if( x[i]%y == 0 )  flag[i] = true;
21         }
22          left = m - left;
23         while(left > 0){
24             double tmp = 0.0;
25             int p = 0;
26             for(int i=1; i<=n; ++i)
27                 if(tmp < x[i]*1.0/y * m - num[i]){
28                     tmp = x[i]*1.0/y * m - num[i];
29                     p = i;
30                 }
31             --left;
32             ++num[p];
33         }
34         printf("%d", num[1]);
35         for(int i=2; i<=n; ++i)
36             printf(" %d", num[i]);
37         printf("\n");
38     }
39     return 0;
40 } 

View Code

转载于:https://www.cnblogs.com/hujunzheng/p/4005517.html

AC_Dream 1224 Robbers(贪心)相关推荐

  1. ACdream 1224 Robbers (贪心)

    一道贪心题,很久前做的,代码是我以前写的. 题意:有n个抢劫者抢劫了m块金子,然后第i个人平分xi/y块金子,但是会有除不尽的情况而金子不可再分,那么每个人都有一个不满意度fabs(xi / y - ...

  2. ZOJ2343 Robbers(贪心)

    题目: Robbers Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge N robbers have robbed the ban ...

  3. ACdream 1224 Robbers

    题意:N个抢劫犯去分M个金币,约定了分赃比例,但是金币的最小单位是1,不一定能恰好按比例分.求一种尽可能公平的方案(|Xi/Y - Ki/M|尽量小). 思路:贪心.先整除按比例分,剩下的金币依次分给 ...

  4. sgu207:Robbers(贪心)

    大致翻译:nn个强盗去抢劫银行得到mm个金币,抢劫前他们先确定好了分 配方案,每个人按比例Xi/YXi/Y分配,X1+X2+..Xn=YX_1+X_2+..X_n = Y,mm可能不能 被YY整除,所 ...

  5. zoj 2343 Robbers 【贪心】

    题意: 给你n个金币,然后m个人,每个人有理论的分配份额.但是金币只能整Robbers个整个分. 问你怎么分才能让金币分配的最合理: 题解: 先按比例,把能分的先都分了,最后剩余的,往余数最大的上面补 ...

  6. UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】

    题目链接 题意 给n个互不相包含的区间,求出一个长度的最大值,使得可以在每个区间中选出这样一个长度的子区间,这些子区间互不相交.结果用分数表示 分析 先考虑如果给定了区间长度能不能选出这样的区间.因为 ...

  7. zoj 2709 Lottery 组合数,概率,贪心 (8-F)

    题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2709 题解:  1   组合数的计算,用DP,速度又快又简洁. ...

  8. 信息学奥赛一本通(1224:最大子矩阵)

    1224:最大子矩阵 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 5292     通过数: 3128 [题目描述] 已知矩阵的大小定义为矩阵中所有元素的和.给 ...

  9. HDU ACM 1224 Free DIY Tour (SPFA)

    Free DIY Tour Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

最新文章

  1. MyEclipse Derby数据库服务器使用方法
  2. 编码 data:text/html;c,iOS 用TFHpple抓取GB-2312编码的html页面,页面返回编码错误
  3. Java_Freemarker
  4. java原子操作cas_java并发编程系列二:原子操作/CAS
  5. NOIP训练营集训笔记—信息学基础算法(倍增与分治算法
  6. C++ operator 知识点
  7. 极光推送指定用户推送_App用户都睡着了?是时候用推送和活动唤醒一波了!
  8. Winform模态窗体关闭时赋值给打开自身的窗体(C# 事件委托版)
  9. 起步15万年薪 这些名校高材生争当卷烟工
  10. React16:Hooks总览,拥抱函数式 (这大概是最全的React Hooks吧)
  11. 全年日历平铺展示以及日期批量选择
  12. 多卡聚合设备基于融合系统指挥平台的解决方案
  13. 电脑遇到蓝屏的时候怎么解决
  14. 夜深人静写算法(四十九)- 高斯消元
  15. 计算机考研英语复试自我介绍范文,2016考研复试英语自我介绍12篇范文
  16. OSChina 周三乱弹 ——小时候,女孩子喜欢娃娃,长大后
  17. 【论文阅读】视线估计方向论文
  18. MATLAB案例-汽车雷达
  19. js 截取字符串里的IP和port
  20. CCF计算机认证注意事项

热门文章

  1. 鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话
  2. geth 转账_eth客户端安装 geth使用 批量转账(一)
  3. 查看Centos7 系统位数
  4. flowable 动态多实例
  5. 【解决】-bash: ftp: command not found
  6. immutable.js笔记
  7. Java-Scanner进阶使用
  8. qt获取QString中第一个汉字
  9. java.lang.ClassNotFoundException: lombok.Data
  10. mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得