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 ...
随机推荐
- 用 gulp.spritesmith 自动化雪碧图
一.安装nodejs之后,要设置两个环境变量 在 计算机右击属性---高级系统设置---高级---环境变量 打开窗口 新建2个环境变量,它们的值分别是nodejs根目录下的node_modules路径 ...
- reflow和repaint
Web页面运行在各种各样的浏览器当中,浏览器载入.渲染页面的速度直接影响着用户体验 简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程.先来大致了解一下浏览器都 ...
- windows的DOS窗口如何修改大小
关于这个问题,其实很简单.不知道为什么网上的资料乱遭的.故自己写下来,方便有不明白的童鞋参考. 左键点击左上角的区域会弹出一个菜单,选择属性. 如下图就能轻松的修改窗口的大小了.
- Boost的VS开发环境搭建
1. 下载并解压Boost C++ Libs 下载地址: SourceForge:http://sourceforge.net/projects/boost/files/boost/1.48.0/ B ...
- 使用anyremote进行远程鼠标控制
源代码安装 http://anyremote.sourceforge.net/pre.html 安装 -xtest apt-get install libxtst-dev 安装 glib sudo ...
- 解决不能打开wifi问题
使用 命令svc wifi来调试,避免使用GUI 相关资料 https://community.freescale.com/thread/319407 D/WifiService( 313): se ...
- 利用npoi把多个DataTable导入Excel多个sheet中
{ 题外拓展:把datatable插入dataset DataTable fuben = new DataTable();//定义的datatablefuben = table.Tables[0].C ...
- ActiveMQ-CPP编译
1.activemq-cpp下载地址: http://activemq.apache.org/cms/download.html 2.相关依赖库 http://mirrors.hust.edu.cn/ ...
- 学习笔记:GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2)
GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2) GLSL 是一种管道,一种图形化的流水线 1.GLSL 的具体工作流程: 简化流程如下: ...
- c++ 日志操作
程序需要一个简单的日志类,为此简单学习了Boost.Log和google的glog,前者功能非常强大,后者非常小巧但是不够灵活,最终打算自己写一个. 环境: win7 32位旗舰版.VS2010旗舰版 ...