題目描述
N只小白鼠(1 <= N <= 100),每隻鼠頭上戴着一頂有顏色的帽子。現在稱出每隻白鼠的重量,要求按照白鼠重量從大到小的順序輸出它們頭上帽子的顏色。帽子的顏色用“red”,“blue”等字符串來表示。不同的小白鼠可以戴相同顏色的帽子。白鼠的重量用整數表示。
輸入
多案例輸入,每個案例的輸入第一行爲一個整數N,表示小白鼠的數目。
下面有N行,每行是一隻白鼠的信息。第一個爲不大於100的正整數,表示白鼠的重量,;第二個爲字符串,表示白鼠的帽子顏色,字符串長度不超過10個字符。
注意:白鼠的重量各不相同。
輸出
每個案例按照白鼠的重量從大到小的順序輸出白鼠的帽子顏色。
樣例輸入
1 79 omi 9 46 lcg 92 cru 37 ceq 54 vhr 17 wus 27 tnv 13 kyr 95 wld 34 qox
樣例輸出
omi wld cru vhr lcg ceq qox tnv wus kyr
思路:
#include<bits/stdc++.h>
using namespace std;
struct node
{
int weight;
string str;
};
bool cmp(struct node a, struct node b)
{
return a.weight > b.weight;
}
int main()
{
int n;
while(cin >> n)
{
struct node a[n];
for(int i=0;i<n;i++)
{
cin >> a[i].weight;
cin >> a[i].str;
}
sort(a, a+n, cmp);
for(int i=0;i<n;i++)
{
cout<<a[i].str;
cout<<endl;
}
}
return 0;
}