Hdu-5702-Solving Order [排序]


题目传送门


题意:输入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;
}

版权声明:本文为L524922464原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。