1039. Course List for Student (25)
来源:互联网 发布:高校工资知乎 编辑:程序博客网 时间:2024/05/17 06:29
IDEA
1.很自然的思路是设计map<string,vector<int> > record; 但是由于string的各种操作,使得最后一个case超时;
2.我们观察到文中描述name右3个大写字母和一位数字组成,即最多有MAX=26*26*26*10个学生。需要做name到数字id之间的映射,
id=(name[0]-'A')*26*26*10+(name[1]-'A')*26*10+(name[2]-'A')*10+name[3]-'0'
3.用vector<int> stu[MAX]存储即可
CODE
#include<iostream>#include<cstdio>#include<vector> #include<algorithm>#include<fstream>using namespace std;#define MAX 26*26*26*10vector<int> stu[MAX];int hashName(char *name){return (name[0]-'A')*26*26*10+(name[1]-'A')*26*10+(name[2]-'A')*10+name[3]-'0';}int main(){#ifndef ONLINE_JUDGEfreopen("input.txt","r",stdin);#endifint n,k;scanf("%d%d",&n,&k);while(k--){int course,numStu;scanf("%d%d",&course,&numStu);while(numStu--){char name[5];scanf("%s",name);int stu_id=hashName(name);stu[stu_id].push_back(course);}}for(int i=0;i<n;i++){char query[5];scanf("%s",query);printf("%s",query);int stu_id=hashName(query);printf(" %d",stu[stu_id].size());sort(stu[stu_id].begin(),stu[stu_id].end());for(int j=0;j<stu[stu_id].size();j++){printf(" %d",stu[stu_id][j]);}printf("\n");}#ifndef ONLINE_JUDGEfclose(stdin);#endifreturn 0;}
0 0
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)-PAT
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- PAT 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- PAT 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- PAT 1039. Course List for Student (25)
- 1039. Course List for Student (25)
- PAT 1039. Course List for Student (25)
- 推荐几款好用的模态框附带教程
- RxJava 并发 之测试
- poj3468 A Simple Problem with Integers 线段树区间更新,区间求和
- iOS学习(十六)Objective-C 继承方式下的消息传递
- 两两交换链表中的节点
- 1039. Course List for Student (25)
- 线性表的长度为10,在最坏情况下,冒泡排序需要比较次数为()----腾讯2016研发工程师在线模拟笔试题
- gcc: error: elf_i386: No such file or directory
- 深圳杯2016A题 雨污分流与雨污混流,截排与清源?
- 橙子第一篇文章
- yii2获取表及字段
- 程序员的基础生存技能:高效用Google--2016-07-08 Python开发者
- python学习——使用文本编辑器
- FPGA基础知识9(从D触发器的角度说明建立和保持时间)