PAT 1072 开学寄语(20)(代码+思路)
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
作者: CHEN, Yue
单位: 浙江大学
时间限制: 400ms
内存限制: 64MB
代码长度限制: 16KB
PS:(封电脑是不可能封的,这辈子不可能封电脑0.0)
我的思路:用map存放查缴物品(置1),方便之后判断是否是查缴物品(可以直接用下标,不用再写一个for循环),之后判断的时候如果出现查缴物品,则将它存放到 th 中,且count++,查缴物品总数sum++;如果一个人的count不为0,就将 th 输出,注意count每次都要置0;
注意:查缴物品的输出顺序要按输入顺序输出(因此我们这里用string th[6]这个数组,而不用map(map会根据key自动排序))。
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main() {
	map<string, int> map;		//用于判断是否属于查缴物品
	string str, name, th[6];        //th存放查缴物品编号
	int count;				//查缴物品计数器
	int n, m, k;
	int people = 0, sum = 0;
	cin >> n >> m;
	for (int i = 0; i < m; i++) {
		cin >> str;
		map[str]++;
	}
	for (int i = 0; i < n; i++) {
		cin >> name >> k;
		count = 0;
		for (int j = 0; j < k; j++) {
			cin >> str;
			if (map[str] > 0) {
				th[count++] = str;
				sum++;
			}
		}
		if (count) {
			cout << name << ":";
			for (int l = 0; l < count; l++)
				cout <<" "<< th[l];
			cout << endl;
			people++;
		}
	}
	cout << people << " " << sum;
	return 0;
}PAT 1072 开学寄语(20)(代码+思路)的更多相关文章
- PAT——1072. 开学寄语(20)
		下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ... 
- PAT 1072. 开学寄语(20) JAVA
		下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ... 
- PAT乙级:1072开学寄语(20分)
		PAT乙级:1072开学寄语(20分) 题干 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面 ... 
- PAT 1072 开学寄语
		https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144 1072 开学寄语(20 分)提问 下图是上 ... 
- PAT Basic 1072 开学寄语 (20 分)
		下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智. ... 
- 1072 开学寄语 (20分)C语言
		下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟 ... 
- PAT(B) 1072 开学寄语(Java)统计
		题目链接:1072 开学寄语 (20 point(s)) 题目描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使 ... 
- PAT 乙级 1072 开学寄语(20 分)
		1072 开学寄语(20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ... 
- PAT 1044 火星数字(20)(思路+代码)
		1044 火星数字(20)(20 分) 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jl ... 
随机推荐
- MongoDB——更新操作(Update)c#实现
			c#实现 Mongodb存储[文档局部更新] 如下: 递归更新字段 ,构建UpdateDefinition /// <summary> /// 构建更新操作定义 /// &l ... 
- xss总结漏洞篇
			Xss漏洞 Xss漏洞出现在1996年.Xss漏洞又名跨站脚本漏洞 Xss可能造成的危害 网站弹框(刷流量) 网站挂马 会话劫持 Cookie被盗取 用户提权 账号被盗 尽量DDOS 蠕虫攻击 Xss ... 
- IP分组交付和转发
			1:交付 网络层监视底层物理网络对分组的处理过程叫做交付,分为直接交付和间接交付 1.1:直接交付 直接交付时,分组的终点是一台与交付着连接在同一个网络上的主机,发生在俩种情况下,分组的源点和终点都在 ... 
- 玩转laravel5.4的入门动作(一)
			安装前 1 laravel是用composer来做的依赖关系,所以先下载composer 下载地址在这里https://getcomposer.org/download/ windows lin ... 
- 9.简单理解ajax
			#### post 请求需要发送一个header setRequestHeader('Content-Type','application/x-www-form-urlencoded') post请求 ... 
- HTML5 Canvas 小例子 旋转的图片
			<一>CSS部分 @charset "utf-8"; *{ padding:; margin:; outline: none; } #canvas{ position: ... 
- jenkins坑—— shell 命令返回空导致构建失败
			今天用jenkins做CI遇到个坑,命令为:isSnapshot=`ls|grep isv-osp-service|grep -i snapshot` ls命令返回空的话,Jenkins构建就直接失败 ... 
- HTML网页Table解析
			procedure TForm27.Button1Click(Sender: TObject); var doc2: IHTMLDocument2; doc3: IHTMLDocument3; ita ... 
- 模板引擎-freemarker
			Freemarker 是一款模板引擎,是一种基于模版生成静态文件的通用 工具,它是为java程序员提供的一个开发包. 可通过将Word或者Excel模板另存为xml格式,在其中修改要替换的内容. 基本 ... 
- mysql闯关练习
			1.表关系 班级表:class 学生表:student cid caption grade_id sid sname gender clas ... 
