文章

40

粉丝

607

获赞

68

访问

421.6k

头像
1074水王争霸
P1074
发布于2020年4月7日 11:18
阅读数 8.9k

#include<iostream>
#include<vector>
#include<string>
#include<cstring>
#include<algorithm>

using namespace std;

struct people {
	string sum;
	string id;
};

bool cmp(people a, people b) {
	if(a.sum.size()!=b.sum.size()){//比较水贴数量字符串长度,长的排在前
		return a.sum.size()>b.sum.size();
	}else{//如果水贴数量字符串长度相同
		if(a.sum==b.sum){//水贴数量字符串长度相等且数量相等,按id字典序排列
			return a.id < b.id;
		}else{//水贴数量字符串长度相等但是数量不相等,数值大的排在前面
			a.sum > b.sum;
		}
	}
}

int main() {
	int n;
	while (cin >> n) {
		vector<people> v;
		for (int i = 0;i < n;i++) {
			people p;
			cin >> p.id;
			cin >> p.sum;
			v.push_back(p);
		}
		sort(v.begin(), v.end(), cmp);//按规则排序
		for (int j = 0;j < v.size();j++) {//输出id
			cout << v[j].id << endl;
		}
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发