不定长数组vector,STL的使用
来源:互联网 发布:windows 菜单栏 编辑:程序博客网 时间:2024/05/22 02:22
把这道题贴出来跟大家一起分享下;这题用vector不定数组有“神笔“之效,看到这题的第一思路是构建结构,然后对应每门课程以及学生的选择情况用简单数组来记录选择的课程 编号,以及用另一变量来记录这学生的选择课程总数。每门学生类推;不用说这样明显效率低,而且难得去写,最终题目也没ac出来
题目:<pat甲级1039>
题意:有N个学生,K门课,给出选择每门课的学生姓名,最后对于给出的N个学生的姓名的选课情况进行询问,要求按顺序给 出每个学生的选课情况;输出格式:学生 选择课程总数 选择的课程编号;注意最后不能有多余空格;
源码:
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include<vector>using namespace std;const int maxn = 26*26*26*10+10;vector <int> s[maxn];int fact(char s[4]){ int item = 0; for(int i = 0;i<3;i++){ item = item*26+(s[i]-'A'); } item = item*10+(s[3] - '0'); return item;}int main(){int n,k; cin>>n>>k; //n表示学生,k表示课程 for(int i = 0;i<k;i++){ int a,b; cin>>a>>b; //a表示输入课程编号,b表示对应选该课程的学生 for(int j = 0;j<b;j++){ char name[5]; cin>>name; int q = fact(name); s[q].push_back(a); }}for(int i = 0;i<n;i++){ char ss[5]; cin>>ss; int item = fact(ss); sort(s[item].begin(),s[item].end()); cout<<ss<<" "<<s[item].size(); for(int j = 0;j<s[item].size();j++){ cout<<" "<<s[item][j]; } cout<<endl;} return 0;}
阅读全文
0 0
- 不定长数组vector,STL的使用
- STL之Vector(不定长数组)
- 【C++ 与 STL】不定长数组:vector
- 不定长数组:vector
- 不定长数组 vector
- 不定长数组vector
- 【STL】 poj1208&&UVa101 The Blocks Problem (不定长数组vector的应用)
- STL_不定长数组-vector
- hpu 2647 拓扑排序 + vector不定长数组的使用方法
- Vector——不定长数组
- day_10-acm 不定长数组 -vector
- POJ 1208 不定长数组vector
- Vector:不定长数组基础用法
- STL——不定长数组
- poj_1724_深搜之二维不定长数组的使用
- Uva 101 The Blocks Problem(不定长数组 vector)
- c语言的不定长数组
- TVarRec不定长数组
- 16_矩阵剪刀石头布
- Centos7 未找到命令.. 解决方案
- maven和gradle打war包遇到的问题及总结
- java基础之--抽象类
- JS 判断数据类型的方法
- 不定长数组vector,STL的使用
- 在Hibernate中Transformers的所有转换都是需要实现ResultTransformer接口。
- leetcode 130. Surrounded Regions
- 支付网关的设计
- 从尾到头打印链表
- TLS重新协商显示扩展,RFC5746
- linux系统磁盘文件夹占用大小和清理
- 14_扫雷游戏地雷数计算
- PAT乙级1008. 数组元素循环右移问题 (20)