下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其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)相关推荐

  1. PAT 1072. 开学寄语(20)-PAT乙级真题

    1072. 开学寄语(20) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过 ...

  2. PAT 乙级1072 开学寄语 (20分)

    1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...

  3. 1072 开学寄语 (20分)

    1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...

  4. 【测试点分析】1072 开学寄语 (20分)_42行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad ...

  5. 【PAT乙级】1072 开学寄语 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> #inc ...

  6. PAT 1072. 开学寄语

    PAT 1072. 开学寄语(20) 描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封 其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发 ...

  7. PAT --- 1072.开学寄语 (20 分)

    1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣 ...

  8. 「PAT乙级真题解析」Basic Level 1072 开学寄语 (问题分析+完整步骤+伪代码描述+提交通过代码)

    乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范.从小白开始逐步掌握用编程解决问题. PAT乙级BasicLevelPractice 1072 开学寄语 问题分析 题设要求查找学 ...

  9. PAT 1072 开学寄语 C语言实现

    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟 ...

  10. PAT (Basic Level) Practice (中文)1072 开学寄语(C语言)

    程序员入门水平,贴出代码大家一起进步! 题目 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面 ...

最新文章

  1. 用Latex模板写简历
  2. 【Android FFMPEG 开发】FFMPEG 读取音视频流中的数据到 AVPacket ( 初始化 AVPacket 数据 | 读取 AVPacket )
  3. POJ1703 Find them, Catch them 并查集
  4. eclipse+pydev添加已存在django项目及其调试方法
  5. 地产相继入局智能家居,LifeSmart云起获新世界集团战略投资
  6. 分布式定时任务开源方案
  7. 据当前时间获取本学期周次
  8. PS笔记:调色之通道混合器
  9. 第十一次 Java作业
  10. 周口女子职专计算机分为哪些专业,周口女子职业中专学校
  11. 集群升级:CBS迁移
  12. 20年的嵌入式经验:如何从零开始开发一款嵌入式产品(值得收藏的高质量文章!)...
  13. 2020年代,中国AI创业公司将走向何方?
  14. 峨眉派的创始人真的是郭襄吗?
  15. 【mp3】洗脑循环了!龙珠超 自在极意功 【究极の圣戦】串田アキラ 背景纯音乐...
  16. java edt,java – 如何在Swing中分析EDT?
  17. Vue系统指令(一)
  18. shell脚本实现分日志级别输出
  19. 图像坐标球面投影_地图开发知识之-投影坐标
  20. NTP时间同步服务器_万金油_新浪博客

热门文章

  1. Learning-Based Approximation of Interconnect Delay and Slew in Signoff Timing Tools
  2. C++的学习路线以及未来就业趋势
  3. 阿里云朱照远:AI打开新视界 8K时代已来! 1
  4. 鸡易发呼吸道疾病的原因 鸡打喷嚏甩鼻用什么药
  5. 哒螨灵使用注意事项_哒螨灵怎么使用?哒螨灵的使用方法和注意事项
  6. Java--制作乱字游戏
  7. 高德地图自定义贴图图层
  8. 实现旋转六面体(含动画的基本介绍)
  9. NOIP2011 洛谷 P1315 观光公交
  10. 文件下载中使用inputStream流获取文件大小