首页 > 其他 > 详细

L2-009 抢红包-easy-sort()函数

时间:2020-11-13 16:30:49      阅读:37      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<algorithm>
#define MAXSIZE 10001
using namespace std;
struct Redpock {
    int N_i, num_pock = 0, in;
}pock[MAXSIZE];
bool cmp (struct Redpock a, struct Redpock b) {
	if ( a.in != b.in )
		return  a.in > b.in;
	else if (a.num_pock != b.num_pock)
		return a.num_pock > b.num_pock;
	else 
		return a.N_i < b.N_i;
}
int main () {
    int N;
    cin >> N;
    int K, N_k;
	double P_k;
    for (int i = 1; i <= N; ++i) {
    	pock[i].N_i = i;
        cin >> K;
        for (int j = 0; j < K; ++j) {
        	cin >> N_k >> P_k;
        	pock[N_k].in += P_k;
        	pock[i].in += (-1.0 * P_k);
        	++pock[N_k].num_pock;
		}
    }
    sort(pock + 1, pock + N + 1, cmp);//因为是从i=1开始的,所以要pock+1开始 
	for (int i = 1; i <= N; ++i) {
		printf ("%d %.2f\n", pock[i].N_i, pock[i].in  / 100.0 );
	}
	return 0;
}

L2-009 抢红包-easy-sort()函数

原文:https://www.cnblogs.com/am6a6/p/13969177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!