problem

L2-009 抢红包 (25分)
没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。

输入格式:
输入第一行给出一个正整数N(≤10
​4
​​ ),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:

KN
​1
​​ P
​1
​​ ⋯N
​K
​​ P
​K
​​

其中K(0≤K≤20)是发出去的红包个数,N
​i
​​ 是抢到红包的人的编号,P
​i
​​ (>0)是其抢到的红包金额(以分为单位)。注意:对于同一个人发出的红包,每人最多只能抢1次,不能重复抢。

输出格式:
按照收入金额从高到低的递减顺序输出每个人的编号和收入金额(以元为单位,输出小数点后2位)。每个人的信息占一行,两数字间有1个空格。如果收入金额有并列,则按抢到红包的个数递减输出;如果还有并列,则按个人编号递增输出。

输入样例:
10
3 2 22 10 58 8 125
5 1 345 3 211 5 233 7 13 8 101
1 7 8800
2 1 1000 2 1000
2 4 250 10 320
6 5 11 9 22 8 33 7 44 10 55 4 2
1 3 8800
2 1 23 2 123
1 8 250
4 2 121 4 516 7 112 9 10
输出样例:
1 11.63
2 3.63
8 3.63
3 2.11
7 1.69
6 -1.67
9 -2.18
10 -3.26
5 -3.26
4 -12.32

  • 给出n个人(1~n编号),每个人发出的红包,被ki个人分别抢走pi元。
  • 统计每个人的输入金额

solution

  • 扫一遍模拟一下,然后排个序。
  • 注意输出2位小数,不然答案错。注意double比较大小,不然答案错。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 10010;double a[maxn];int b[maxn];//红包金额和个数int r[maxn];//间接排序
void init(int n){for(int i = 1; i <= n; i++)r[i]=i;}
bool cmp(int x, int y){if(abs(a[x]-a[y])>0.01)return a[x]>a[y];//a[x]!=a[y],精确到0.01if(abs(b[x]-b[y])>0.01)return b[x]>b[y];return x<y;
}int main(){int n;  cin>>n;for(int i = 1; i <= n; i++){int k;  cin>>k;for(int j = 1; j <= k; j++){int ni, pi;cin>>ni>>pi;double py = pi*1.0/100;a[ni] += py;a[i] -= py;b[ni]++;}}init(n);sort(r+1,r+n+1,cmp);for(int i = 1; i <= n; i++)printf("%d %.2lf\n",r[i],a[r[i]]);return 0;
}

【CCCC】L2-009 抢红包 (25分),,间接排序,比较double大小相关推荐

  1. L2-009 抢红包 (25 分)(C语言)(排序)

    题目 L2-009 抢红包 (25 分) 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢红包的记录,请你统计一下他们抢红包的收获. 输入格式: 输入第一行给出一个正整数N(≤10 4 ),即 ...

  2. 7-4 抢红包 (25分)

    7-4 抢红包 (25分) 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢红包的记录,请你统计一下他们抢红包的收获. 输入格式: 输入第一行给出一个正整数N(≤10​4​​),即参与发红包和 ...

  3. C语言 7-7 抢红包 (25分)

    7-7 抢红包 (25分 题目 代码块 题目 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢红包的记录,请你统计一下他们抢红包的收获. 输入格式: 输入第一行给出一个正整数N(≤10​4), ...

  4. 【CCCC】L2-017 人以群分 (25分),,模拟水题

    problem L2-017 人以群分 (25分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向 ...

  5. 【CCCC】L2-003 月饼 (25分),贪心

    problem L2-003 月饼 (25分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大 ...

  6. 【CCCC】L2-031 深入虎穴 (25分),,求多叉树最深的节点编号,大水题!!!

    problem L2-031 深入虎穴 (25分) 著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一 ...

  7. 【CCCC】L2-026 小字辈 (25分),求多叉树的深度和底层叶节点

    problem L2-026 小字辈 (25分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起 ...

  8. 【CCCC】L2-025 分而治之 (25分),图的度数,使节点独立的方案

    problem L2-025 分而治之 (25分) 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若 ...

  9. 【CCCC】L2-024 部落 (25分),,并查集,模板水题,统计集合个数

    problem L2-024 部落 (25分) 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多 ...

最新文章

  1. ORACLE_关于OGG参数.ENABLE_GOLDENGATE_REPLICATION
  2. LinkedHashMap 与 HashMap区别
  3. ssm上传文件获取路径_SSM实现图片上传下载功能
  4. bucket sort sample sort 并行_MOOSE: 实现大规模并行多物理场仿真(二)
  5. jQuery常用知识点总结以及平时封装常用函数
  6. PTA L2-006 树的遍历-二叉树的后序遍历+中序遍历,输出层序遍历 团体程序设计天梯赛-练习集...
  7. 读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题
  8. ITK+VTK+VS环境搭建.Q:vs编译出问题参见VTK(一)哈。
  9. methods和computed的区别
  10. 三、JAVA流程控制(选择结构if、while、for、switch)
  11. paip.双网卡多网卡不能上网的联网配置
  12. java怎么设置颜色_java怎么设置颜色
  13. ios带嗅探器的浏览器_MAC系统下 有没有像WIN系统的傲游浏览器那样有嗅探功能的呢?...
  14. ROST情感分析的语法规则_NLP技术之句法分析
  15. shell脚本中source和expert的简单理解
  16. 电脑上查看自己连接的WIFI密码
  17. 用友U8V10.1软件安装教程
  18. CAD给标注尺寸加上下公差的方法
  19. trove mysql 镜像_OpenStack(Queens)制作 Trove 镜像
  20. java计算机毕业设计ssm基于Vue的二手商品交易网站z40n1(附源码、数据库)

热门文章

  1. 可视化 —— 在线图形绘制
  2. 诗歌的创作、诗词总结与应用
  3. 强悍的 Linux —— Linux 中 TTY 是什么意思
  4. Tricks(二十七)—— 如何在不使用 np.argsort 的情况下获得排序后元素的下标
  5. 联合索引会创建几个索引_联合索引在B+树上的存储结构及数据查找方式
  6. mfc在运行的时候为什么没有实例化_Redis(7)——持久化【一文了解】
  7. 一张图学会python应用到excel-简单使用python做excel多文件批量搜索(带图形界面)(已更新)...
  8. python能做什么项目-适合Python 新手的5大练手项目,你练了么?
  9. php和python-Python与PHP:有什么区别?
  10. python是干什么用的-python是做什么用的 python有什么用 - 驱动管家