题意:输入n,并输入n行,每行一个颜色以及个数。 按个数从多到少输出颜色。
思路:结构体排序。
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
typedef struct node{
char ch[20];
int p;
}Qq;
int cmp(Qq a, Qq b)
{
return a.p > b.p;
}
int main(void)
{
int T;
scanf("%d", &T);
while (T--)
{
int n;
Qq q[15];
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf(" %s %d", q[i].ch, &q[i].p);
}
sort(q,q+n,cmp);
for (int i = 0; i < n; i++)
{
if (i==0)
printf("%s", q[i].ch);
else
printf(" %s", q[i].ch);
}
printf("\n");
}
return 0;
}