#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e4+10;
int n,k,num,p;
struct user
{
int id,cishu=0;
double mon=0;
}a[N];
bool cmp(user a,user b)//结构体排序根据题意
{
if(a.mon!=b.mon)
return a.mon>b.mon;
else if(a.cishu!=b.cishu)
return a.cishu>b.cishu;
else
return a.id<b.id;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
a[i].id=i;
cin>>k;
while(k--)
{
scanf("%d %d",&num,&p);
a[num].mon+=p;
a[num].cishu++;
a[i].mon-=p;
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)
{
printf("%d %.2lf\n",a[i].id,a[i].mon/100);//这里很坑的一点是最后要写出/100,如果直接加的时候就按照答案的形式加最后不除100的话虽然算的也是对的,但是排序会出问题
}
return 0;
}
L2-009 抢红包
最新推荐文章于 2024-05-21 23:16:53 发布