PAT 1072 开学寄语
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
第一次写的(总体还算不错):
#include <stdio.h>int main(void){int n,m;scanf("%d %d",&n,&m);int num,i,j,r,cot1=0,cot2=0,flag,l; //cot1表示违禁学生数 cot2表示物品数 int things[10000]={0}; //用处存储违禁物品编号for(i=0;i<m;i++){scanf("%d",&num);things[num]++; //这样可以减少用循环判断学生携带的物品是否为违禁物品}char name[10];for(i=0;i<n;i++){flag=0;scanf("%s %d",name,&l); //l表示学生携带物品数量 用来后面循环用的 for(j=0;j<l;j++){scanf("%d",&r); //r记录了学生物品编号if(things[r]>0){if(flag==0){flag=1;cot1++; printf("%s:",name);}printf(" %04d",r);cot2++;} }if(flag==1) printf("\n");}printf("%d %d\n",cot1,cot2);return 0;
}
2022.7.9
总结:虽然这题比较简单,但是还是出了点小问题,因为这个物品是四位数,所以会有0012这样的编号出现,这种数字打印需要注意printf("%04d");
#include <stdio.h>int main(void){int n,m;scanf("%d %d",&n,&m);int a[10000],i,j,r,cot=0,sum=0;for(i=0;i<m;i++){scanf("%d",&r);a[r]=1;}char s[5];int k,b[10000]={0};for(i=0;i<n;i++){scanf("%s %d",s,&k);//这里的k表示学生的物品数量for(j=0;j<k;j++){scanf("%d",&r);if(a[r]==1 && b[i]==0){printf("%s: %d",s,r);b[i]++;}else if(a[r]==1){printf(" %d",r);b[i]++;}}if(b[i]!=0) printf("\n");}for(i=0;i<n;i++){if(b[i]!=0){cot++;sum+=b[i];} }printf("%d %d\n",cot,sum);return 0;
}
好好学习,天天向上!
我要考研! 缩小差距!
PAT 1072 开学寄语相关推荐
- PAT 1072. 开学寄语
PAT 1072. 开学寄语(20) 描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封 其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发 ...
- PAT 1072. 开学寄语(20)-PAT乙级真题
1072. 开学寄语(20) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过 ...
- PAT --- 1072.开学寄语 (20 分)
1072 开学寄语 (20 分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣 ...
- PAT 1072 开学寄语 C语言实现
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟 ...
- 「PAT乙级真题解析」Basic Level 1072 开学寄语 (问题分析+完整步骤+伪代码描述+提交通过代码)
乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范.从小白开始逐步掌握用编程解决问题. PAT乙级BasicLevelPractice 1072 开学寄语 问题分析 题设要求查找学 ...
- PAT 乙级1072 开学寄语 (20分)
1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...
- 1072 开学寄语 (20分)
1072 开学寄语 (20分) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面.理发.整衣, ...
- PAT (Basic Level) Practice (中文)1072 开学寄语(C语言)
程序员入门水平,贴出代码大家一起进步! 题目 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面 ...
- 【测试点分析】1072 开学寄语 (20分)_42行代码AC
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad ...
- 【PAT乙级】1072 开学寄语 (20 分)
题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> #inc ...
最新文章
- .NET设计模式(2):单件模式(Singleton Pattern)
- Ruby on Rails的下载及安装以及开发环境的搭建
- Android下的Linux
- 服务器上文件一直被打开吗,Python: 如何判断远程服务器上Excel文件是否被人打开...
- 什么是数据中心,它们是如何变化的?
- linux怎么制作运行包,简单 RPM 包制作
- 修改数据表部分字段方法封装-及-动态生成对象并动态添加属性
- git获得当前分支url_笔记本拿出来!软件工程师必须要知道的Git命令语句大汇总...
- Asp.Net中自以为是的Encode
- 油漆面积 java_第八屆藍橋杯省賽 JavaA組 第十題 標題:油漆面積
- python工程师干什么的_Python就业前景和工资待遇分析,你学Python了吗?
- 使用 p6spy,拦截到持久层执行的sql及参数
- 照片尺寸大小是多少厘米
- KGAT: Knowledge Graph Attention Network forRecommendation
- xx学院学员评优评奖管理系统
- Nmap下载和简单应用
- 第八章 VAR模型与脉冲响应
- 阿里云安全ACP认证试验之阿里云Web应用防火墙接入体验
- matplotlib无法显示中文问题的解决(全网最全)
- mysql联合索引和索引优化的理解