• PAT (Advanced Level) 1080. Graduate Admission (30)


    简单题。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<stack>
    #include<queue>
    #include<string>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    struct X
    {
        int id;
        int ge,gi;
        int ch[200];
    }s[40000+10];
    int n,m,k;
    int sch[200];
    vector<int>ans[200];
    int le[200],li[200];
    
    bool cmp(const X&a,const X&b)
    {
        if(a.ge+a.gi==b.ge+b.gi) return a.ge>b.ge;
        return a.ge+a.gi>b.ge+b.gi;
    }
    
    int main()
    {
        scanf("%d%d%d",&n,&m,&k);
        for(int i=1;i<=m;i++) scanf("%d",&sch[i]);
        for(int i=1;i<=n;i++)
        {
            s[i].id=i-1;
            scanf("%d%d",&s[i].ge,&s[i].gi);
            for(int j=1;j<=k;j++)
            {
                scanf("%d",&s[i].ch[j]);
                s[i].ch[j]++;
            }
        }
        sort(s+1,s+1+n,cmp);
    
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=k;j++)
            {
                if(sch[s[i].ch[j]]>0)
                {
                    sch[s[i].ch[j]]--;
                    ans[s[i].ch[j]].push_back(s[i].id);
                    le[s[i].ch[j]]=s[i].ge;
                    li[s[i].ch[j]]=s[i].gi;
                    break;
                }
                if(le[s[i].ch[j]]==s[i].ge&&li[s[i].ch[j]]==s[i].gi)
                {
                    sch[s[i].ch[j]]--;
                    ans[s[i].ch[j]].push_back(s[i].id);
                    le[s[i].ch[j]]=s[i].ge;
                    li[s[i].ch[j]]=s[i].gi;
                    break;
                }
            }
        }
    
        for(int i=1;i<=m;i++)
        {
            sort(ans[i].begin(),ans[i].end());
            for(int j=0;j<ans[i].size();j++)
            {
                printf("%d",ans[i][j]);
                if(j<ans[i].size()-1) printf(" ");
            }
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    phpcms 的getcache()函数
    git 上配置公钥
    linux 上git安装
    mac上php的扩展yaf安装
    Linux常用指令---grep(搜索过滤)
    mac virtualbox+vagrant安装
    nginx配置location及rewrite规则重写
    mac php环境搭建
    nginx.pid丢失问题
    git操作教程详解
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5636191.html
Copyright © 2020-2023  润新知