感觉应该是个正常的模拟题,注意下细节就好了吧gogogo,再有就是sort快排和结构体的运用吧,不多说 看代码
#include <bits/stdc++.h>
using namespace std;
struct node{
int x=0,z=0;
double y=0;
}a[10005];
bool cmp(node a,node b){
if(a.y!=b.y) return a.y>b.y;
else {
if(a.z!=b.z)return a.z>b.z;
else return a.x<b.x;
}
}
int main(){
int n,y,z,x;
cin>>n;
for(int i=1;i<=n;i++){
a[i].x=i;
cin>>x;
while(x--){
cin>>y>>z;
a[y].y+=z;
a[i].y-=z;
a[y].z++;
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
printf("%d %.2lf\n",a[i].x,a[i].y/100);
}
return 0;
}