vector相关习题
目录
- 问题A:学生课程列表
- 问题B:课程学生名单
问题A:学生课程列表
http://codeup.cn/problem.php?cid=100000596&pid=0
类似于一个数据库你前面输入的数据都进到里面了。
你输入一个人,输出他对应的信息。
用一个int型的vector,再先将字符串转换成对应的数值id用定址法统计。
#include<cstdio>
#include<vector>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
vector<int> stu[175761];//即学生编号数26*26*26*10+1
int str_int(char a[])
{int sum=0;for(int i=0;i<3;i++){sum=sum*26+a[i]-'A';}sum=sum*10+a[3]-'0';return sum;
}
int main(void)
{int people,book;int number,n;char name[20];cin>>people>>book;while(book){cin>>number>>n;for(int i=0;i<n;i++){scanf("%s",name);stu[str_int(name)].push_back(number);} book--;}while(people){scanf("%s",name);printf("%s ",name);printf("%d",stu[str_int(name)].size());sort(stu[str_int(name)].begin(),stu[str_int(name)].end());for(int i=0;i<stu[str_int(name)].size();i++){printf(" %d",stu[str_int(name)][i]); }printf("\n");people--;}return 0;
}
问题B:课程学生名单
http://codeup.cn/problem.php?cid=100000596&pid=1
题目分析:
用一个vector的容器数组 来保存各个的人名。
用定址法,看到学生选的编号,就向对应的容器加入。
最后挨个输出。输出前要按字典序排序,自己写一个cmp 用sort排
#include<cstdio>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(string a,string b)
{return a<b;
}
int main(void)
{int people,book;int i,j,k;int n;//每一个人选的科目书 int number;//选的科目号 string str;vector<string> peoples[2505];cin>>people>>book;for(i=0;i<people;i++){cin>>str;scanf("%d",&n);for(int j=0;j<n;j++){scanf("%d",&number);peoples[number].push_back(str); } }for(i=1;i<=book;i++){printf("%d %d\n",i,peoples[i].size());sort(peoples[i].begin(),peoples[i].end(),cmp);for(j=0;j<peoples[i].size();j++){cout<<peoples[i][j]<<endl; }}return 0;
}
vector相关习题相关推荐
- 20210330:二叉树力扣相关习题复习(上)
20210330:二叉树力扣相关习题复习(上) 题目 思路与算法 代码实现 写在最后 题目 路径总和 II 二叉树的最近公共祖先 二叉树展开为链表 思路与算法 路径总和 II:经典三序遍历二叉树题目, ...
- Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)
Algorithm:[Algorithm算法进阶之路]之算法中的数学编程相关习题(时间速度.进制转换.排列组合.条件概率.斐波那契数列) 目录 时间速度 排列组合 进制转换 条件概率 斐波那契数列 时 ...
- 计算机网络学习(六)—网络层概述以及相关习题
计算机网络学习(六)-网络层概述以及相关习题 学习内容 一.网络层的概述 二.网络层提供的两种服务 三.IPv4地址的概述 四.分类编址IPv4地址 五.划分子网的IPv4地址 六.无分类编制的IPv ...
- 【数据库E-R图知识点和相关习题(复试真题)】
文章目录 数据库E-R图知识点和相关习题 E-R图的前置知识 习题 工厂物资管理系统(例题) 防疫管理系统(2021) 社区隔离人员管理系统(2020A) 在线教学管理系统(2020B) 餐厅管理系统 ...
- 操作系统:临界区、临界资源的概念及相关习题
文章目录 前言 一.相关概念 1.临界资源 2.临界区 二.习题 1.习题 总结 前言 临界区.临界资源的概念及相关习题 一.相关概念 总体呈现:为了保护共享资源,不让多个进程同时访问这个共享资源,即 ...
- 进程调度算法相关习题
处理机调度与死锁相关习题 1.1.假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若分别按 先来先服务( FCFS ) . 非抢占式及抢占 的短进程优 ...
- 放大电路模型及相关习题
经常回顾这些模型,牢牢记住 1.模型 2.相关习题
- 【二叉树相关习题】二叉树最大深度;平衡二叉树;最近公共祖先;对称二叉树;
二叉树相关习题 文章目录 二叉树相关习题 1. 检查两棵树是否相同 2. 判断一个树是否是另一个树的子树 3. 二叉树的最大深度 4. 判断一颗二叉树是否是平衡二叉树 5. 对称二叉树 6. 二叉树的 ...
- CALL的原理解析及相关习题
CALL的原理解析 首先来来了解一下如何获取除第一个参数以外其它参数:以下两种方法都是利用ES6的规则 //1.方法一:利用剩余运算符 Function.prototype.call = functi ...
最新文章
- LeetCode 601. Human Traffic of Stadium
- python定义一个圆_Python-矩形和圆形
- 九九乘法表代码口述_利用随机函数实现座次表的随机排座
- mysql 学生成绩等级_JSP+SSM+Mysql实现的学生成绩管理系统
- tickcount()修改成小时分钟_银行核心系统24小时机制实现总结
- Android RecyclerView (十)组件化封装
- TensorFlow 实现深度神经网络 —— Denoising Autoencoder
- linux添加mysql到服务_Linux下将MySQL服务添加到服务器的系统服务中
- IT桌面运维常识系列 -(Windows部署服务 - 01)
- TextView跑马灯
- 探访广东电子垃圾第一镇:家庭作坊饮鸩止渴---ESM
- 组合数学之二 —— 容斥原理及应用
- 【BI工具支持的数据源对照表(帆软/PowerBI/永洪/观远)】
- python numpy array 数组维度转换(转维)
- STM32学习——入门小项目
- Secure Code Warrlor学习记录(三)
- 慕课学习史上最全零基础入门HTML5和CSS笔记
- 机器视觉与计算机视觉的区别与联系
- Agfa的MUSICA说明
- 如何写好项目管理应聘简历?