列表

详情


NC215131. LCY的QQ

描述

输入描述

见上

输出描述

见上

示例1

输入:

7
0 0 11628
0 0 20595
1 0 12863
1 1 10646
0 0 32224
1 0 28018
1 1 19

输出:

7 19
4 99+
3 99+
6 99+
1 99+
2 99+
5 99+

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 222ms, 内存消耗: 4480K, 提交时间: 2021-12-09 20:26:49

#include<bits/stdc++.h>
using namespace std;
struct xy{
	long long a,b,c,id;
}a[2000000];

bool cmp(xy a,xy b){
	if(a.a!=b.a)		return a.a>b.a;
	else if(a.b!=b.b)	return a.b>b.b;
	else if(a.c!=b.c)	return a.c<b.c;
	else	return a.id<b.id;
}
int main(){
	int n;cin>>n;
	for(int i=1;i<=n;i++)	{cin>>a[i].a>>a[i].b>>a[i].c;a[i].id=i;}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		cout<<a[i].id<<" ";
		if(a[i].c>99)	cout<<"99+"<<endl;
		else cout<<a[i].c<<endl;
	}
}

Python3 解法, 执行用时: 509ms, 内存消耗: 28564K, 提交时间: 2021-12-07 00:48:44

rank = []
n = int(input())
for i in range(n):
    a = list(map(int, input().split()))
    rank.append((abs(a[0]-1), abs(a[1]-1), i+1, a[2]))
m = sorted(rank, key=lambda x: (x[0], x[1], x[3]))
for i in m:
    if i[3] <= 99:
        print(i[2], i[3])
    else:
        print(i[2], "99+")

上一题