1072. 开学寄语(20)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!
本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。
输入格式:
输入第一行给出两个正整数N(<= 1000)和M(<= 6),分别是学生人数和需要被查缴的物品种类数。第二行给出M个需要被查缴的物品编号,其中编号为4位数字。随后N行,每行给出一位学生的姓名缩写(由1-4个大写英文字母组成)、个人物品数量K(0 <= K <= 10)、以及K个物品的编号。
输出格式:
顺次检查每个学生携带的物品,如果有需要被查缴的物品存在,则按以下格式输出该生的信息和其需要被查缴的物品的信息(注意行末不得有多余空格):
姓名缩写: 物品编号1 物品编号2 ……
最后一行输出存在问题的学生的总人数和被查缴物品的总数。
输入样例:
4 2 2333 6666 CYLL 3 1234 2345 3456 U 4 9966 6666 8888 6666 GG 2 2333 7777 JJ 3 0012 6666 2333
输出样例:
U: 6666 6666 GG: 2333 JJ: 6666 2333 3 5
个人分析:
用到了map<string,int>来违禁物品,如果用string数组来储存,当违禁物品较多时,检查学生的物品需要耗费较多时间。
违禁物品在map里value值初始化为1,普通物品为0,依次检查每个学生物品在map里的value值即可。
代码
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{int N,M;//N-学生人数,M-物品人数int i,j;cin>>N>>M;map<string,int>goods; //物品map,key值为物品编号,value值为1表示存在该物品存疑for(i=0;i<M;i++) //储存存疑物品{string temp;cin>>temp;goods[temp]=1;}int count1=0,count2=0; //count1可疑学生数,count2缴获物品数for(i=0;i<N;i++){string name; //学生姓名int n; //学生物品数cin>>name>>n;bool sign=true; //用来标记学生是否带有违禁物品for(j=0;j<n;j++) //输入该位学生物品{string tmp;cin>>tmp;if(goods[tmp] == 1) // 如果该物品为违禁物品{ count2++; if(sign) //如果此时sign为true,表示还未输出改为学生名字{cout<<name<<":";count1++;sign=false;} //输出学生名字,并改sign为false;cout<<" "<<tmp; //输出违禁物品编号} }if(!sign) //如果该位学生带了可疑物品,输出回车,否者不输出cout<<endl;}cout<<count1<<" "<<count2;return 0;
}
1072. 开学寄语(20)相关推荐
- PAT 1072. 开学寄语(20)-PAT乙级真题
1072. 开学寄语(20) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过 ...
- PAT 乙级1072 开学寄语 (20分)
1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...
- 1072 开学寄语 (20分)
1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...
- 【测试点分析】1072 开学寄语 (20分)_42行代码AC
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad ...
- 【PAT乙级】1072 开学寄语 (20 分)
题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> #inc ...
- PAT 1072. 开学寄语
PAT 1072. 开学寄语(20) 描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封 其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发 ...
- PAT --- 1072.开学寄语 (20 分)
1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣 ...
- 「PAT乙级真题解析」Basic Level 1072 开学寄语 (问题分析+完整步骤+伪代码描述+提交通过代码)
乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范.从小白开始逐步掌握用编程解决问题. PAT乙级BasicLevelPractice 1072 开学寄语 问题分析 题设要求查找学 ...
- PAT 1072 开学寄语 C语言实现
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟 ...
- PAT (Basic Level) Practice (中文)1072 开学寄语(C语言)
程序员入门水平,贴出代码大家一起进步! 题目 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面 ...
最新文章
- 用Latex模板写简历
- 【Android FFMPEG 开发】FFMPEG 读取音视频流中的数据到 AVPacket ( 初始化 AVPacket 数据 | 读取 AVPacket )
- POJ1703 Find them, Catch them 并查集
- eclipse+pydev添加已存在django项目及其调试方法
- 地产相继入局智能家居,LifeSmart云起获新世界集团战略投资
- 分布式定时任务开源方案
- 据当前时间获取本学期周次
- PS笔记:调色之通道混合器
- 第十一次 Java作业
- 周口女子职专计算机分为哪些专业,周口女子职业中专学校
- 集群升级:CBS迁移
- 20年的嵌入式经验:如何从零开始开发一款嵌入式产品(值得收藏的高质量文章!)...
- 2020年代,中国AI创业公司将走向何方?
- 峨眉派的创始人真的是郭襄吗?
- 【mp3】洗脑循环了!龙珠超 自在极意功 【究极の圣戦】串田アキラ 背景纯音乐...
- java edt,java – 如何在Swing中分析EDT?
- Vue系统指令(一)
- shell脚本实现分日志级别输出
- 图像坐标球面投影_地图开发知识之-投影坐标
- NTP时间同步服务器_万金油_新浪博客