博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT乙级1072(C++)——龙哥哥的刷题路
阅读量:3702 次
发布时间:2019-05-21

本文共 1365 字,大约阅读时间需要 4 分钟。

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

解题思路:用set存储查缴的物品,然后在读取学生物品的时候,在set中查找有没有查缴的物品,如果有输出即可

#include
#include
#include
#include
using namespace std;int main(){
int N = 0, M = 0,stuCount=0,pCount=0; set
tPackage; cin >> N >> M; for (int i = 0; i < M; i++){
int temp = 0; cin >> temp; tPackage.insert(temp); } for (int i = 0; i < N; i++){
string name; cin >> name; int num = 0,temp=0; cin >> num; bool flag = true; for (int j = 0; j < num; j++){
cin >> temp; if (tPackage.find(temp) != tPackage.end()){
if (flag){
printf("%s:",name.c_str()); stuCount++; flag = false; } printf(" %04d", temp); pCount++; } } if (!flag){
printf("\n"); } } printf("%d %d",stuCount,pCount); return 0;}

转载地址:http://azujn.baihongyu.com/

你可能感兴趣的文章
详解:IDEA不能自动加载import问题
查看>>
第k小个数和第k大个数,5种方法,速看!!!
查看>>
判断是非为回文数?
查看>>
java使用socket实现客户端与服务器聊天(一)实现终端模拟聊天
查看>>
java使用socket实现客户端与服务器聊天(二)简单实现图形界面
查看>>
java使用socket实现客户端与服务器聊天(三)消息区两端各自对齐
查看>>
基于java实现学生信息管理系统单机对话版
查看>>
基于Android实现蓝牙通信(学习资料且转载)
查看>>
原码一位除(通过十进制通俗理解)
查看>>
工作减负篇(一):青年大学习截图(班委)
查看>>
百度语音唤醒踩坑合集
查看>>
android直连局域网mysql数据库实现登录注册demo
查看>>
安卓、服务器(servlet)、mysql数据库实现用户注册(一)
查看>>
安卓、服务器(servlet)、mysql数据库实现用户注册(二)
查看>>
工作减负篇(二):批量创建文件或文件夹(班委)
查看>>
linux查看文件内容的命令
查看>>
Eclipse自动补全代码提醒与防止空格等符号键入补全代码
查看>>
摆脱鼠标 一(微软操作系统window)
查看>>
(单片机作业一)STC89C52动态数码管显示520
查看>>
(单片机作业二)实现汽车转向灯
查看>>