题目没有太大难度,注意编号是四位的就行;
测试点0:和给的样例一样;
测试点一:没有一个违禁物品,所以只输出两个0;
测试点二:输入的编号会有如“0666”这样的,输出时不要把零省略
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[7];//存储违规物品代码
for(int i=0;i<m;i++){
cin>>a[i];
}
int sm1=0,sm2=0;//记录违规人员和物品数量
for(int i=0;i<n;i++){
string s;//读入人员名字
int num,temp;
cin>>s>>num;
int flag=1;//判断名字是否已经被输出
for(int t=0;t<num;t++){
cin>>temp;
for(int x=0;x<m;x++){
if(temp==a[x]&&flag){
cout<<s<<':';
flag=0;
}
if(temp==a[x]){
printf(" %04d",temp);//输出的编号必须是四位的
sm2++;//记录违规物品数量
break;
}
}
}
if(!flag){
cout<<endl;
sm1++;//记录违规人员数量
}
}
cout<<sm1<<' '<<sm2;
}
有帮助请帮忙点个赞,谢谢!
该博客介绍了一个C++程序,用于处理违规物品检查。程序读取人员信息和违规物品代码,输出违规人员及其携带的违规物品编号,并统计了违规人员和物品的数量。程序特别强调了输出编号应为四位且不应省略前导零。
2400

被折叠的 条评论
为什么被折叠?



