L2-009 搶紅包【模擬】
L2-009 搶紅包
https://pintia.cn/problem-sets/994805046380707840/problems/994805066890854400
題目
沒有人沒搶過紅包吧…… 這裡給出N個人之間互相發紅包、搶紅包的記錄,請你統計一下他們搶紅包的收穫。
輸入
輸入第一行給出一個正整數N(≤10^4),即參與發紅包和搶紅包的總人數,則這些人從1到N編號。隨後N行,第i行給出編號為i的人發紅包的記錄,格式如下:KN1P1⋯NKPK。其中K(0≤K≤20)是發出去的紅包個數,Ni是搶到紅包的人的編號,Pi(>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
分析
模擬。
C++程式
#include<iostream>
#include<algorithm>
using namespace std;
const int N=10100;
struct Node{
int num,id;
double sum;
bool operator <(const Node &h)const
{
if(sum!=h.sum)
{
return sum>h.sum;
}
else if(num!=h.num)
{
return num>h.num;
}
else
return id<h.id;
}
}a[N];
int main()
{
int n,k,id;
double p;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
a[i].num=0;
a[i].id=i;
a[i].sum=0;
}
for(int i=1;i<=n;i++)
{
scanf("%d",&k);
double sum=0;
while(k--)
{
scanf("%d%lf",&id,&p);
{
a[id].sum+=p;
a[id].num++;
sum+=p;
}
}
a[i].sum-=sum;
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++)
{
printf("%d %.2lf\n",a[i].id,a[i].sum/100.0);
}
return 0;
}
相關文章
- 模擬微信搶紅包demo,生成隨機數隨機
- Android 輔助功能 -搶紅包Android
- 2020-12-28 搶紅包
- 用js模擬實現微信搶紅包的演算法,並說明你的思路JS演算法
- 拼多多在哪裡可以搶紅包?紅包如何使用呢?
- Android 輔助功能 -搶紅包(二)Android
- Android 輔助功能 -搶紅包(三)Android
- 2018 新年活動系統 — 搶紅包
- Python教你全自動搶微信紅包Python
- C#實現搶紅包演算法C#演算法
- 如何設計一個搶紅包系統
- 搶紅包案例分析以及程式碼實現
- 分享一個仿微信模擬器,可以快速模擬微信對話,微信紅包等。
- Laravel 高併發搶購模擬Laravel
- 搶紅包案例分析以及程式碼實現(三)
- 搶紅包案例分析以及程式碼實現(二)
- 搶紅包案例分析以及程式碼實現(四)
- Jmeter5.0 搶紅包併發操作案例JMeter
- 微信小程式搶紅包高併發設計微信小程式
- 基於 Redis 實現基本搶紅包演算法Redis演算法
- 從Android手機的搶紅包外掛說起Android
- 高併發-「搶紅包案例」之一:SSM環境搭建及復現紅包超發問題SSM
- springboot+redis分散式鎖-模擬搶單Spring BootRedis分散式
- 限量紅包封面開搶啦!祝你兔年好運連連
- 開發微信搶紅包軟體被罰475萬!
- 關於年會搶紅包遊戲的一個思考遊戲
- 模擬器上app抓包APP
- Redis秒殺系統架構設計-微信搶紅包Redis架構
- golang實現二倍均值演算法和搶紅包Golang演算法
- Fiddler && 夜神模擬器 抓包
- Python這麼頂?搶紅包殺手、訊息撤回也沒得用!Python
- 微信:除夕夜使用者搶微信紅包50.8億個
- 快過年了,如何使用 AutoJS 自動化快速搶微信紅包!JS
- 使用mumu模擬器抓包 andriod appAPP
- 吸粉紅包驚現-會吸粉的紅包,才是好紅包!
- 模擬 easywechat 開發騰訊的 ocr 包
- SOLIDWORKS設計包線性靜態模擬Solid
- Android通過輔助功能實現搶微信紅包原理簡單介紹Android