题目链接:https://vjudge.net/problem/HDU-5702
题意:给出n种气球,输入它们的颜色和个数,按照个数从大到小的顺序输出气球的颜色。
直接排序输出就行。
#include<bits/stdc++.h>
#define maxn 1000010
using namespace std;
pair<string,int>mp;
bool cmp(pair<string,int>p1,pair<string,int>p2)
{
return p1.second>p2.second;
}
vector<pair<string,int> >v;
int main()
{
int T;
while(cin>>T)
{
while(T--)
{
v.clear();
int n;
cin>>n;
for(int i=0;i<n;i++)
{
string s;
int cnt;
cin>>s>>cnt;
v.push_back(make_pair(s,cnt));
}
sort(v.begin(),v.end(),cmp);
cout<<v[0].first;
for(int i=1;i<v.size();i++)
{
cout<<' '<<v[i].first;
}
cout<<endl;
}
}
return 0;
}