AC_Dream 1224 Robbers(贪心)
题意: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(贪心)相关推荐
- ACdream 1224 Robbers (贪心)
一道贪心题,很久前做的,代码是我以前写的. 题意:有n个抢劫者抢劫了m块金子,然后第i个人平分xi/y块金子,但是会有除不尽的情况而金子不可再分,那么每个人都有一个不满意度fabs(xi / y - ...
- ZOJ2343 Robbers(贪心)
题目: Robbers Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge N robbers have robbed the ban ...
- ACdream 1224 Robbers
题意:N个抢劫犯去分M个金币,约定了分赃比例,但是金币的最小单位是1,不一定能恰好按比例分.求一种尽可能公平的方案(|Xi/Y - Ki/M|尽量小). 思路:贪心.先整除按比例分,剩下的金币依次分给 ...
- sgu207:Robbers(贪心)
大致翻译:nn个强盗去抢劫银行得到mm个金币,抢劫前他们先确定好了分 配方案,每个人按比例Xi/YXi/Y分配,X1+X2+..Xn=YX_1+X_2+..X_n = Y,mm可能不能 被YY整除,所 ...
- zoj 2343 Robbers 【贪心】
题意: 给你n个金币,然后m个人,每个人有理论的分配份额.但是金币只能整Robbers个整个分. 问你怎么分才能让金币分配的最合理: 题解: 先按比例,把能分的先都分了,最后剩余的,往余数最大的上面补 ...
- UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】
题目链接 题意 给n个互不相包含的区间,求出一个长度的最大值,使得可以在每个区间中选出这样一个长度的子区间,这些子区间互不相交.结果用分数表示 分析 先考虑如果给定了区间长度能不能选出这样的区间.因为 ...
- zoj 2709 Lottery 组合数,概率,贪心 (8-F)
题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2709 题解: 1 组合数的计算,用DP,速度又快又简洁. ...
- 信息学奥赛一本通(1224:最大子矩阵)
1224:最大子矩阵 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5292 通过数: 3128 [题目描述] 已知矩阵的大小定义为矩阵中所有元素的和.给 ...
- 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 ...
最新文章
- MyEclipse Derby数据库服务器使用方法
- 编码 data:text/html;c,iOS 用TFHpple抓取GB-2312编码的html页面,页面返回编码错误
- Java_Freemarker
- java原子操作cas_java并发编程系列二:原子操作/CAS
- NOIP训练营集训笔记—信息学基础算法(倍增与分治算法
- C++ operator 知识点
- 极光推送指定用户推送_App用户都睡着了?是时候用推送和活动唤醒一波了!
- Winform模态窗体关闭时赋值给打开自身的窗体(C# 事件委托版)
- 起步15万年薪 这些名校高材生争当卷烟工
- React16:Hooks总览,拥抱函数式 (这大概是最全的React Hooks吧)
- 全年日历平铺展示以及日期批量选择
- 多卡聚合设备基于融合系统指挥平台的解决方案
- 电脑遇到蓝屏的时候怎么解决
- 夜深人静写算法(四十九)- 高斯消元
- 计算机考研英语复试自我介绍范文,2016考研复试英语自我介绍12篇范文
- OSChina 周三乱弹 ——小时候,女孩子喜欢娃娃,长大后
- 【论文阅读】视线估计方向论文
- MATLAB案例-汽车雷达
- js 截取字符串里的IP和port
- CCF计算机认证注意事项
热门文章
- 鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话
- geth 转账_eth客户端安装 geth使用 批量转账(一)
- 查看Centos7 系统位数
- flowable 动态多实例
- 【解决】-bash: ftp: command not found
- immutable.js笔记
- Java-Scanner进阶使用
- qt获取QString中第一个汉字
- java.lang.ClassNotFoundException: lombok.Data
- mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得