天梯赛真题L2-009抢红包 代码: #include<bits/stdc++.h> using namespace std; struct men{ int qian = 0; int l = 0;//抢到的红包数 int t;//编号 }w[10005]; bool cmp(struct men a,struct men b) { if(a.qian>b.qian) return true; else if(a.qian == b.qian) { if(a.l > b.l) return true; else if(a.l == b.l) { if(a.t < b.t) { return true; } return false; } } return false; } int main() { int n; cin>>n; int k; for(int i = 1; i <= n; i++) { cin>>k; while(k--) { int a,b; cin>>a>>b; w[a].qian += b; w[i].qian -= b; w[a].l++; } w[i].t = i; } sort(w+1,w+n+1,cmp);//草从1开始的 for(int i = 1; i <= n; i++) { printf("%d %.2lf\n",w[i].t,w[i].qian*1.0/100); } return 0; }