PAT_B_1072 开学寄语

题目描述

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

AC代码

// 1072 开学寄语
# include <stdio.h>

int main(void)
{
	int N, M;
	int i, j, k, len;
	char S[6];
	int Good[6]={0}, num;
	int sum_name=0, sum_good=0, flag=0;

	scanf("%d%d",&N, &M);
	// 记录违规物品编号
	for (i=0; i<M; i++)
	{
		scanf("%d",&Good[i]);
	}
	// 输入学生姓名及所带物品编号
	for (j=0; j<N; j++)
	{
		// 姓名
		scanf("%s",S);
		// 物品数量
		scanf("%d",&len);
		// 各个物品编号
		flag = 0; // 如果该学生有违规物品,则输出姓名
		for (i=0; i<len; i++)
		{
			scanf("%d",&num);
			for (k=0; k<M; k++)
			{
				if (flag == 0)
					if (num==Good[k])
					{
						sum_name++;
						flag=1; // 已经输出了姓名
						printf("%s:",S);
					}
				if (num == Good[k])
				{
					// 违规物品数量
					sum_good++;
					printf(" %04d",num);
				}
			 }
		}
		if (flag == 1)
			printf("\n");
	}
	printf("%d %d\n",sum_name, sum_good);

	return 0;
 } 

RR

原文地址:https://www.cnblogs.com/Robin5/p/11334746.html

时间: 2024-08-30 07:09:00

PAT_B_1072 开学寄语的相关文章

1072. 开学寄语(20)

下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进.而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器. 输入格式: 输入第一行给出两个正整数N(<= 1000)和M(<= 6),分别是学生人数和需要被查缴的物品种类数.第二行给出M个需要被查缴的物品编号,其中编号为4位数字.随后N行,每行给出一位学生的姓名缩写

PAT 1072 开学寄语

https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144 1072 开学寄语(20 分)提问 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进.而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器. 输入格式:

PAT Basic 1072 开学寄语 (20 分)

下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进.而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器. 输入格式: 输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数.第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字.随后 N 行,每行给出一

1072 开学寄语

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144 题解: 1 #include <iostream> 2 #include<string> 3 using namespace std; 4 5 int main() { 6 int n, m; 7 cin >> n >> m; 8 int sum_row = 0, sum = 0; 9 stri

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

1072 开学寄语 (20分) 输入样例: 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 思路:1.用数组下标表示违禁物品编号2.不满4位数要补0,例如:编号12输出时为0012 首次通过代码: 1 #include<stdio.h> 2 3 int main(

day fourteen,开学第一天

九月十一日,周一,帝都,晴天 话说今天是靖儿生日呦,还没看会飞君有没有去留言.等等去看看. 开学第一天呦,第一节课很爽,老师叫徐迟,秒粉.这个老师一看就能力很强,下回要选他的计算机英语. 下午的两节课就比较水,不是说课水,数据结构啊,贼重要的一节课啊,老师怎么能那么弱..抱歉了老王,不是我黑你,真的是没有对比就没有伤害. 哦,对了,午饭吃啥的Java版已经做好了,v1.0.1版本~ 其他的好像没啥了,哦,把龙族一借回宿舍了,写完就去看了~ 恩,就是现在.

写在开学后:暑假没有什么卵用的总结以及NOIP复赛前的计划

emmmm暑假干了点什么呢? 7月在机房培训,听的基本是各种没有学过的东西...所以基本都是懂了个大概,没有具体的代码实现...23号之后休息,除了出去玩之外也没有干啥... 8月去雅礼集训.emmm讲的基本都是以前听过的东西和已经学过的东西...所以现在还是懂了个大概...至于收获嘛,就是有了十几天的考试经验(虽然总结被我忘到脑袋后面了) 现在开学了,在新知识的学习上可以说我这两个月基本什么都没有学? 所以说更是要赶进度了= = 11月就是NOIP了,大概是没有什么压力的?不过今年的NOIP,

开学第一天

上次开会大校长说31号会通知我们这四个新人分在哪里,那天我一直没有接到电话,所以我就直接就打电话过去问了.说我分在莲坊,说可以直接去报到,后面又说先来中心小学.听到这分配,我心里有点难受,说不出的味道.所以我晚上吃饭的时候没有告诉父母这个消息,还是觉得明天9月1号告诉他们,我心想他们听到这个消息些许有点失落吧. 今天是9月1号,开学的第一天.我直接骑摩托车,饶了一个大圈去了中心小学.在学校门口就看到好多家长和学生,进学校后,我直接进了以前同学的房间想问问她情况,看她房间好多家长都在弄报名的事情.

UOJ136 开学前的作文

描述 红包是一个萌萌的男孩子. 红包由于 NOI 惨挂,直到前不久依然无心写作业.如今快开学了,他决定好好完成作业. 对于可以交电子稿的作文,红包有特殊的完成技巧,大致流程是依次选中一段内容→按下 Ctrl+C→按下 Ctrl+V . 由于红包的键盘过于奇特,只有 ↑,↓,←,→,Fn 这 55 个按键能够移动光标,导致每次选中一段内容总要费上一番功夫. 按键 功能 ↑ 将光标向上移动一格 ↓ 将光标向下移动一格 ← 将光标向左移动一格 → 将光标向右移动一格 Fn 依次按下最近被物理按下的两个