1039 Course List for Student
题意:给出K门课程(编号1~K)以及报名该课程的学生,然后有N个学生查询,对于每一个查询,输出该学生所报的相关课程编号,且要求编号按增序输出。
思路:题目不难,解析略。(本来用map直接映射,用STL的string存储姓名是会超时的,结果今天再测了一下结果能AC了,什么鬼!?)考试时,如果只是纯映射关系,无需键值有序,可以用unordered_map,头文件在<unordered_map>下,如果会超时再尝试字符串哈希的方法。简单的字符串哈希就是下面的change()函数,需记住。
代码:
#include <cstdio>
#include <cstring>
#include <set>
using namespace std;
***+;
set<int> stu[N];//stu[i]存放学生所选择的课程编号,利用set的自动排序
//将字符串映射成数字
int change(const char *str)
{
,i=;
int len=strlen(str);
;i++)
id=*id+(str[i]-'A');
id=id*+str[i]-';
return id;
}
int main()
{
int queryCnt,k;
scanf("%d%d",&queryCnt,&k);
int courseid,m;
];
;i<=k;i++){
scanf("%d%d",&courseid,&m);
while(m){
scanf("%s",name);
int id=change(name);
stu[id].insert(courseid);
m--;
}
}
;i<queryCnt;i++){
scanf("%s",name);
int id=change(name);
printf("%s %d",name,stu[id].size());
for(auto it:stu[id]) printf(" %d",it);
printf("\n");
}
;
}
1039 Course List for Student的更多相关文章
- 1039. Course List for Student (25)
题目链接:http://www.patest.cn/contests/pat-a-practise/1039 题目: 1039. Course List for Student (25) 时间限制 2 ...
- PAT 1039 Course List for Student[难]
1039 Course List for Student (25 分) Zhejiang University has 40000 students and provides 2500 courses ...
- PAT 甲级 1039 Course List for Student (25 分)(字符串哈希,优先队列,没想到是哈希)*
1039 Course List for Student (25 分) Zhejiang University has 40000 students and provides 2500 cours ...
- PAT 1039. Course List for Student
Zhejiang University has 40000 students and provides 2500 courses. Now given the student name lists o ...
- 1039 Course List for Student (25分)
Zhejiang University has 40000 students and provides 2500 courses. Now given the student name lists o ...
- PAT 1039 Course List for Student (25分) 使用map<string, vector<int>>
题目 Zhejiang University has 40000 students and provides 2500 courses. Now given the student name list ...
- PAT甲题题解-1039. Course List for Student (25)-建立映射+vector
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789157.html特别不喜欢那些随便转载别人的原创文章又不给 ...
- PAT (Advanced Level) 1039. Course List for Student (25)
map会超时,二分吧... #include<iostream> #include<cstring> #include<cmath> #include<alg ...
- 【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)
题意: 输入两个正整数N和K(N<=40000,K<=2500),分别为学生和课程的数量.接下来输入K门课的信息,先输入每门课的ID再输入有多少学生选了这门课,接下来输入学生们的ID.最后 ...
随机推荐
- Dynamo论文介绍
http://catkang.github.io/2016/05/27/dynamo.html Dynamo是Amazon开发的分布式存储系统,本文是阅读Dynamo论文后的总结:Dynamo: Am ...
- 【C#基本功 控件的用法】 委托
接触C#这段时间,很多内容容易理解,但也也有很多内容总是无法踏过门槛,就像Delegate 委托,这种新的机制是Labview不具备的,他的一个用法,也让我们这些从labview跨越过来的coder, ...
- storm 入门介绍(持续更新)
storm的集群表面上看和hadoop的集群非常像.但是在Hadoop上面你运行的是MapReduce的Job, 而在Storm上面你运行的是Topology.它们是非常不一样的 — 一个关键的区别是 ...
- jsp <span>标签自动换行
<span>你好43675373543786375425278687375434537diovfndlbnslvsdlbepsfqwo[ewsbnsdbonfdnb</span> ...
- nt":false,"tarball":"http://registry.npm.taobao.org/babel-preset-stag
npm ERR! Unexpected end of input at 1:12777 npm ERR! nt":false,"tarball":"http:/ ...
- 服务器证书安装配置指南(IIS7.0)
一. 生成证书请求 1. 进入IIS控制台 进入IIS控制台,并选择服务器的服务器证书设置选项. 2. 添加证书请求 进入服务器证书配置页面,并选择“创建证书申请” 3. ...
- TCPL学习毕节:第六章hash表
对于P126的哈希表构成: struct nlist *install(char *name, char *defn) { struct nlist *np; unsigned hashval; if ...
- 关于Object类的equals方法和hashCode方法
关于Object类的equals的特点,对于非空引用: 1.自反性:x.equals(x) return true : 2.对称性:x.equals(y)为true,那么y.equals(x)也为tr ...
- Python基础学习(第6天)
1.zip函数 1)zip函数在只有一个参数时运作的方式. x = [1, 2, 3] x = zip(x) print x输出:[(1,), (2,), (3,)] 2)zip函数在没有参数时运作的 ...
- ubuntn 配置webpy nginx
webpy环境搭建 在开始webpy搭建之前,有必要熟悉一下什么是fastcgi,因为搭建环境时都是使用这个模式去运行webpy程序的,具体的fastcgi描述可以参考各种百科:fastcgi协议官网 ...