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[];
}s[+];
int n,m,k;
int sch[];
vector<int>ans[];
int le[],li[]; 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=;i<=m;i++) scanf("%d",&sch[i]);
for(int i=;i<=n;i++)
{
s[i].id=i-;
scanf("%d%d",&s[i].ge,&s[i].gi);
for(int j=;j<=k;j++)
{
scanf("%d",&s[i].ch[j]);
s[i].ch[j]++;
}
}
sort(s+,s++n,cmp); for(int i=;i<=n;i++)
{
for(int j=;j<=k;j++)
{
if(sch[s[i].ch[j]]>)
{
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=;i<=m;i++)
{
sort(ans[i].begin(),ans[i].end());
for(int j=;j<ans[i].size();j++)
{
printf("%d",ans[i][j]);
if(j<ans[i].size()-) printf(" ");
}
printf("\n");
}
return ;
}
PAT (Advanced Level) 1080. Graduate Admission (30)的更多相关文章
- 【PAT甲级】1080 Graduate Admission (30 分)
题意: 输入三个正整数N,M,K(N<=40000,M<=100,K<=5)分别表示学生人数,可供报考学校总数,学生可填志愿总数.接着输入一行M个正整数表示从0到M-1每所学校招生人 ...
- pat 甲级 1080. Graduate Admission (30)
1080. Graduate Admission (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...
- PAT 甲级 1080 Graduate Admission (30 分) (简单,结构体排序模拟)
1080 Graduate Admission (30 分) It is said that in 2011, there are about 100 graduate schools ready ...
- PAT 1080. Graduate Admission (30)
It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applicat ...
- 1080. Graduate Admission (30)
时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It is said that in 2013, there w ...
- 1080 Graduate Admission (30)(30 分)
It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applicat ...
- PAT (Advanced Level) 1111. Online Map (30)
预处理出最短路再进行暴力dfs求答案会比较好.直接dfs效率太低. #include<cstdio> #include<cstring> #include<cmath&g ...
- PAT (Advanced Level) 1107. Social Clusters (30)
简单并查集. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- PAT (Advanced Level) 1103. Integer Factorization (30)
暴力搜索. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #i ...
随机推荐
- textarea内容太多, 鼠标点击全部显示
strRight+="<td bordercolor='#DEDEDE' width='500px' height='50'><div title='"+data ...
- no ia32-libs
sudo apt-get install lib32stdc++6 sudo apt-get install lib32z1 http://blog.csdn.net/wangbin_jxust/ar ...
- 这几天用到的 Linux 命令
下面总结一下这几天用到的linux 命令,记录一下: 13 netstat -atunlp 26 apt-get install python-pip 27 pip install shadowsoc ...
- Hibernate Session & Transaction详解
Hibernate Session & Transaction详解 HIbernate中的Session Session是JAVA应用程序和Hibernate进行交互时使用的主要接口,它也是持 ...
- php薪资
2千的php程序员就是可以用cms,做一个小企业的门户网站. 3千的php程序员,可以自己写代码开发php软件,但是这样程序员写的代码非常混乱,通常只能写数千行代码的小软件,并且痛苦的完工. 4K的p ...
- java 文件字节输出流
Example10_5.java import java.io.*; public class Example10_5 { public static void main(String args[]) ...
- UVALive 2403 77377解题报告(深搜)
题意:给你一些固定的字符串,在给出数字,根据键盘的对应关系,输出所有的满足条件的字符串,输出顺序无所谓. 思路:因为题目说了,输出比较小,说明测试数据并不强,所以可以暴力回溯求出答案,将所有的给出的字 ...
- Vim插件管理 -- Vundle
1 插件目录 -/.vim/bundle/ 没有可自行创建 2 安装Vundle $ git clone https://github.com/VundleVim/Vundle.vim.git ...
- 静态NAT、动态NAT
静态NAT.动态NAT 实验拓扑: 实验目的:熟悉网络地址转换协议 掌握静态NAT 和动态NAT的配置 分析静态NAT 和动态NAT的区别 使用show命令来检查NAT的运行情况 实验要求:按拓扑图来 ...
- 关于日期条件查询的sql 代码
daysqhql = "select sum(c.casenum) from domain.Case c where" + " convert(varchar(10),c ...