0
点赞
收藏
分享

微信扫一扫

L2-009 抢红包 (25 分)

以沫的窝 2022-03-24 阅读 102
c++
#include<bits/stdc++.h>
using namespace std;
struct node{
	int id,num;
	double q;
}a[10009];
bool cmp(node a,node b){
	if(a.q!=b.q) return a.q>b.q;
	if(a.num!=b.num) return a.num>b.num;
	return a.id<b.id;
}
int main(){
    int n,k,h,g;
    cin>>n;
    for(int i=1;i<=n;i++) a[i].id=i,a[i].num=0;
    for(int i=1;i<=n;i++){
		cin>>k;
		while(k--){
			cin>>h>>g;
			a[h].num++;
			a[i].q-=g;
			a[h].q+=g;//此处不可直接换算单位(*0.01),否则排序会出现精度问题
		}
	}
// 	cout<<a[8].q<<endl;
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		cout<<fixed<<setprecision(2)<<a[i].id<<" "<<a[i].q*0.01<<endl;
	}
// 	cout<<a[2].num<<" "<<a[2].q<<" "<<a[8].num<<" "<<a[8].q;
	return 0;
}

举报

相关推荐

0 条评论