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 ...
随机推荐
- PHP常用的预定义常量
<?php echo 'PHP常用的预定义常量'.'<br><br>'; echo '当前php的版本为(PHP_VERSION):'.PHP_VERSION.'< ...
- 推翻自己和过往,重学自定义View
http://blog.csdn.net/lfdfhl/article/details/51671038 深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 A ...
- Let'sencrypt认证的网站Https配置
推荐使用这个脚本,具体说明里面都有 https://github.com/xdtianyu/scripts/tree/master/le-dns 它是通过调用dns服务商的api更新txt记录实现,无 ...
- Boost的VS开发环境搭建
1. 下载并解压Boost C++ Libs 下载地址: SourceForge:http://sourceforge.net/projects/boost/files/boost/1.48.0/ B ...
- Tab选项卡的原生写法
关键点:建立点击事件和显示事件的连接,即点li 1让对应的div1出来,很容易想到遍历.索引 ;;} ul,li{list-style: none;} .tab{background: rgba(2, ...
- C++ 学习之函数重载、基于const的重载
函数重载 函数重载的定义是:在相同的作用域中,如果函数具有相同名字而仅仅是形参表不同,此时成为函数重载.注意函数重载不能基于不同的返回值类型进行重载. 注意函数重载中的"形参表"不 ...
- eclipse提升注解提示速度
preference--输入content--java--editor--content Assist--aoto delay 选项 改为100或者更低 提示速度 --ao ...
- php 四种基础算法 ---- 插入排序法
3.插入排序法 插入排序法思路:将要排序的元素插入到已经 假定排序号的数组的指定位置. 代码: function insert_sort($arr) { //区分 哪部分是已经排序好的 / ...
- 安装mysql ,从 mysql-5.5.5 开始innodb作为默认的存储引擎了
[root@Linux opt]# tar -xvf MySQL-5.6.16-1.rhel5.x86_64.rpm-bundle.tar MySQL-shared-compat-5.6.16-1.r ...
- (转)Unity3D移动平台动态读取外部文件全解析
Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一直有 ...