PAT 1039. Course List for Student (25)
2015-07-31 14:27
281 查看
一开始讲数据开到40000*2500内存超限,然后学习了其它人的代码,使用hash和vector。
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<string> #include<vector> using namespace std; vector<int> student[26*26*26*10];//40000*2500内存会超限 //将名子hash对应一个数 int hashx(char a[5]) { return (a[0]-'A')*26*26*10 + (a[1] - 'A')*26*10 + (a[2] - 'A')*10 + (a[3] - '0'); } int main() { int n,k; while(scanf("%d%d",&n,&k) != EOF) { for(int i = 0; i < k; i++) { int c,num; scanf("%d%d",&c,&num); for(int j = 0; j < num; j++) { char name[5]; scanf("%s",name); student[hashx(name)].push_back(c); } } for(int i = 0; i < n; i++) { char name[5]; scanf("%s",name); int x = hashx(name); int len = student[x].size(); if(len > 0) { sort(student[x].begin(),student[x].end()); printf("%s %d",name,len); for(int j = 0; j < len; j++) printf(" %d",student[x][j]); printf("\n"); }else printf("%s %d\n",name,0); } } return 0; }
相关文章推荐
- 改变 model 的三步
- Linux设备驱动第七篇:高级字符驱动操作之阻塞IO
- 在springmvc中通过过滤器获取request和response
- jquery.autocomplete.js的简单使用
- android sqlite操作(1)
- map 映射
- 负载均衡技术
- Football (aka Soccer)
- <%@ Page Language="C#" %>
- HTML抽奖系统
- JQuery实战——可以编辑的表格
- ThreadLocal原理详解
- 阿里巴巴B2B搜索学习
- php5.3新特性之延迟静态绑定
- androidstudio使用笔记
- 如何查看非自己提交的请求的结果 - 深入浅出Oracle EBS之杂项技术荟萃
- CentOS7安装性能监控系统
- 阿里巴巴B2B搜索学习
- 解读HTML 5新语法 提高语义价值
- mysql 性能分析及explain用法