首页 > 学院 > 开发设计 > 正文

SSL 1549_水王争霸_排序

2019-11-08 01:43:24
字体:
来源:转载
供稿:网友

题目描述

输入的第一行是一个1到1000的整数N,表示总共有N位水王参加了争霸赛。   以下依次给出每位水王的描述,一位水王的描述占据两行,第一行为一个仅由字母和数字组成的长度不超过20的字符串,代表这个水王的ID,第二行一个高精度的整数(非负数),代表这个水王的发贴数。注意,这个整数的首位没有不必要的0。   考虑到IOIForum的数据库是有限的,所有水王发贴数的总长度(注意,是总长度而不是总和)不会超过10000。   除了子母、数字和必要的换行,输入中不会出现空格等字符。


思路

通过字符串的长度和大小进行排序,输出就可以了 O(nlogn)


#include <stdio.h>#include <string>#include <iostream>#include <algorithm>using namespace std;struct arr{ string id,num;}a[100000];int cam(arr a,arr b){ if (a.num.size()!=b.num.size()) { return a.num.size()>b.num.size(); } else { if (a.num==b.num) return a.id<b.id; else return a.num>b.num; }}int main(){ int n; scanf("%d",&n); for (int i=1;i<=n;i++) cin>>a[i].id>>a[i].num; sort(a+1,a+n+1,cam); for (int i=1;i<=n;i++) cout<<a[i].id<<endl;}
上一篇:COOKIES原理和解析

下一篇:Cookies基础

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表