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 ...
随机推荐
- jPaginate应用
分页结合bingojs需要注意两点 1.标签要放在bg-render外面 2.ajax请求参数包含一页显示多少条数据的字段,跟分页插件无关. 调用jPaginate插件的方法很简单: $('#page ...
- STM32的外部中断配置及使用
STM32的外部中断配置及使用 配置1:GPIO: 配置外部中断为输入模式: 配置2:EXTI: 配置外部中断线和触发模式: 配置3:NVIC: 配置外部中断源和中断优先级: 需要注意的是:RCC_A ...
- C# 截取字符串某个字符分割的最后一部分
例如 string s1="123.456.789",想截取得到的新字符串为“789” 代码如下: string s1 = "123.456.789"; str ...
- C# Socket的TCP通讯
Socket的TCP通讯 一. socket的通讯原理 服务器端的步骤如下. (1)建立服务器端的Socket,开始侦听整个网络中的连接请求. (2)当检测到来自客户端的连接请求时,向客户端发送收到连 ...
- android Button获取焦点
有时直接使用requestFocus()不能给button设置焦点,经网上查找得到如下结论: 先setFocus,再requestFocus. btn.setFocus ...
- CodeForces 681C Heap Operations(模拟)
比较简单的模拟,建议使用STL优先队列. 代码如下: #include<iostream> #include<cstdio> #include<cstring> # ...
- PAT1003
As an emergency rescue team leader of a city, you are given a special map of your country. 作为一个城市的紧急 ...
- 手机端android/iPhone问题
iPhone: 不能自动播放音乐, 去除默认样式 input:-webkit-appearance: none;border-radius:0px; video播放自动默认全屏解决-webkit-pl ...
- AnimationSet的使用
Animations的使用(3) 1 AnimationSet的使用方法 什么是AnimationSet 1 AnimationSet是Animation的子类 2 一个AnimationSet包含了 ...
- iOS原生refresh(UIRefreshControl)
转载:http://www.2cto.com/kf/201504/392431.html // // ViewController.m // 代码自定义cell // // Created by ma ...