抢红包

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

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

K N1​​ P1 ⋯ Nk Pk
​​
其中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

#include<stdio.h>
int main()
{int n;int k;int i,j;int num,price,sum;int mid1,mid2,mid3;double ans;scanf("%d",&n);int P[10000],N[10000],C[10000];for(j=1;j<=n;j++){P[j]=0;C[j]=0;N[j]=j;}for(j=1;j<=n;j++){sum=0;scanf("%d ",&k);C[j]=k;for(i=1;i<=k;i++){scanf("%d %d ",&num,&price);P[num]+=price;sum+=price;}P[j]-=sum;}for(i=n;i>1;i--){for(j=2;j<=i;j++){if(P[j-1]<P[j]){mid1=P[j-1];mid2=N[j-1];mid3=C[j-1];P[j-1]=P[j];N[j-1]=N[j];C[j-1]=C[j];P[j]=mid1;N[j]=mid2;C[j]=mid3;}}}//pai xu suan fafor(j=2;j<=n;j++){if(C[j-1]<C[j]&&P[j-1]==P[j]){mid1=P[j-1];mid2=N[j-1];mid3=C[j-1];P[j-1]=P[j];N[j-1]=N[j];C[j-1]=C[j];P[j]=mid1;N[j]=mid2;C[j]=mid3;}else if(C[j-1]=C[j]&&P[j-1]==P[j]&&N[j-1]>N[j]){mid1=P[j-1];mid2=N[j-1];mid3=C[j-1];P[j-1]=P[j];N[j-1]=N[j];C[j-1]=C[j];P[j]=mid1;N[j]=mid2;C[j]=mid3;}}for(j=1;j<=n;j++){ans = 1.0 * P[j] / 100.0;printf("%d %.2lf\n",N[j],ans);}return 0;
}

【C语言练习】抢红包相关推荐

  1. c语言红包编程作业代码,C语言实现抢红包算法

    本文实例为大家分享了C语言实现抢红包的具体代码,供大家参考,具体内容如下 1.算法背景: 大家知道,微信拼手气红包和普通红包两种.普通红包每个人抢到的金额是固定的(总额的平均数),拼手气红包是随机金额 ...

  2. c语言红包编程作业代码,C语言实现抢红包程序代码精简版

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 其实这是段相当简单的代码,至于为什么还要把它放在博客上呢,主要是针对那些刚入门学编程的同学(或者是对程序感兴趣的同 ...

  3. 抢红包算法 c语言版本,抢红包算法实现示例

    public class Problem_003_Grab_The_Red_Envelope { /** * 测试代码 */ @Test public void testMethods(){ Solu ...

  4. c语言微信抢红包的随机算法,微信抢红包的算法实现(C++)

    目前只能实现对于整数的钱数的红包的实现,经过随机数从而实现随机人抢红包的算法 /* vs 2013 wk */ #include #include #include #include using na ...

  5. c语言微信抢红包的随机算法,微信红包随机算法是什么?

    现在微信上面最受欢迎的一项功能莫过于微信红包了,不知道大家有没有研究过,这个红包的数值是随机的,有的时候自己是运气王,有的时候手气特别的差,下面小编为大家介绍微信红包随机算法. 算法很简单,不是提前算 ...

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

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

  7. c语言微信抢红包的随机算法,微信红包的随机算法是怎样实现的?

    单身时我把气球装上水模拟成Dcup的样子,有了女朋友后她脸红红的问我是否对此熟练,我说"精通".捷径我们需要走捷径,因为我们的生命是有限的.我们一生能做的事情不多,越是精英越会觉得 ...

  8. Java Web(1)高并发业务

    互联网无时无刻不面对着高并发问题,例如商品秒杀.微信群抢红包.大麦网抢演唱会门票等. 当一个Web系统,在一秒内收到数以万计甚至更多的请求时,系统的优化和稳定是至关重要的. 互联网的开发包括Java后 ...

  9. c语言红包编程作业代码,C语言实现随机抢红包功能

    用C语言实现红包发放随机抢红包的功能,这主要是一个随机数的应用与控制.程序运行截图如图下: 代码如下: #include #include #include int main() { system(& ...

  10. 抢红包算法(c语言版)

    1.算法背景: 大家知道,微信拼手气红包和普通红包两种.普通红包每个人抢到的金额是固定的(总额的平均数),拼手气红包是随机金额(每个人抢到的是随机的,差别可能非常大,有的人抢到的是1分,有的抢到的可能 ...

最新文章

  1. sourceTree 的使用教程
  2. UA MATH565C 随机微分方程V Markov Family的特征函数
  3. 数据结构_树与二叉树(mindmap)+LeetCode_100.相同的树(C语言)
  4. eclipse占用内存过大_idea被评最好用java开发工具,为什么用eclipse的人更多?
  5. php树形数据结构是什么,数据结构 之 树
  6. rem是怎么计算的(转载)
  7. 华为云薛浩:媒体业务进入全面云化时代,云原生成为必然选择
  8. Web前端工作笔记010---IE8兼容_IE8不能使用foreach_indexOf的解决方案
  9. 用WPF实现在ListView中的鼠标悬停Tooltip显示
  10. linux 软连接【转】
  11. mysql实战数据.sql_Mysql实战(DML增删改+Select)
  12. “赢在幻灯片”有奖征文启事
  13. 关于平方根倒数速算法(雷神之锤3,牛B)
  14. win10默认壁纸_win10主题软件哪个好用 win10主题软件排行
  15. Linux安装ParaView
  16. RNA剪接体 Spliceosome | 冷冻电镜 | 结构生物学
  17. 如何越过计算机开机密码,怎样跳过电脑开机密码教程
  18. 文件下载,搞懂这9种场景就够了
  19. 使用Python实现一个简单的聊天室
  20. 缺陷检测End-to-end training of a two-stage neural networkfor defect detection(端到端的两步神经网络的缺陷检测)

热门文章

  1. jvm中的PermSize、MaxPermSize
  2. 计算机专业游戏本后悔,游戏本不能玩游戏,重装系统还是不能玩,拆机后客户都惊呆了!...
  3. java synchronized加锁 或者redis锁不起作用
  4. hostname解释
  5. 《小舍得》引爆教育话题 掌门1对1为孩子守护教育的温度
  6. 迷宫逃离的问题-CoCube
  7. 动态壁纸安卓_(精品)肥宅一定喜欢的——安卓动态壁纸集合
  8. Python写的ATM程序
  9. 专访网易云:数字企业九层之台,起于“全栈云” 1
  10. 关于Unity中NGUI的Tab商城、Scrollview和打字机效果的实现