PAT A1055

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

struct Person{
    char name[15];
    int age;
    int wealth;
}people[100010];

bool cmp(Person a,Person b)
{
    if(a.wealth!=b.wealth) return a.wealth>b.wealth;
    else if(a.age!=b.age) return a.age<b.age;
    else if(strcmp(a.name,b.name)!=0) return strcmp(a.name,b.name)<0;
}

int main(void)
{
    int n,query;
    cin>>n>>query;
    for(int i=0;i<n;i++)
    {
        scanf("%s %d %d",people[i].name,&people[i].age,&people[i].wealth);
    }
    sort(people,people+n,cmp);
    for(int i=1;i<=query;i++)
    {
        int m,min,max;
        bool print=false;
        cin>>m>>min>>max;
        printf("Case #%d:\n",i);
        for(int i=0;i<n&&m>0;i++)
        {
            if(people[i].age>=min&&people[i].age<=max) 
            {
                printf("%s %d %d\n",people[i].name,people[i].age,people[i].wealth);
                m--;
                print=true;
            }
        }
        if(print==false) printf("None\n");
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容