Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 2.09 KB

2943.md

File metadata and controls

73 lines (58 loc) · 2.09 KB

特征排序 2943: 小白鼠排队

题目要求按照小白鼠的体重排序,并输出排序后每只小白鼠对应的颜色。

题目来源

2943: 小白鼠排队

总时间限制: 1000ms 内存限制: 65536kB

描述

N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。

输入

输入第一行为一个整数N,表示小白鼠的数目。

下面有N行,每行是一只白鼠的信息。第一个为不大于1000的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:白鼠的重量各不相同。

输出

按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。

样例输入

3
30 red
50 blue
40 green

样例输出

blue
green
red

由于小白鼠的体重各不相同,因此不需要考虑相同体重的顺序问题,排序输出即可。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct mouse {
	int w;
	char c[11];
};
bool compare(mouse m1, mouse m2) {
	return m1.w > m2.w;
}
int main() {
	int n, i;
	cin >> n;
	vector<mouse> vm;
	for (i = 0; i < n; ++i) {
		mouse m;
		cin >> m.w >> m.c;
		vm.push_back(m);
	}
	sort(vm.begin(), vm.end(), compare);
	for (i = 0; i < n; ++i) {
		cout << vm[i].c << endl;
	}
	return 0;
}

2943.cpp 代码长度:420B 内存:208kB 时间:13ms 通过率:95% 最小内存:208kB 最短时间:0ms

每一只小白鼠可以用结构体来存储,调用标准模板库的快排函数,由于结构体不是基本类型,所以需要自己构造一个比较函数作为sort的参数,最后按顺序输出即可。

有任何的改进意见欢迎大家在微信平台公众号主页面留言或者发表issue。