- 题目

- 思路
- 输入违禁物品时用一个数组记录,下标为物品编号,值为1表示禁止携带,后面输入学生名单时对比就可以了
- 容易出错的地方:输出格式
#include <stdio.h>
#include <cstring>
using namespace std;
int main(){
int n,k;
scanf("%d %d",&n,&k);
int t,ban[10000];
memset(ban,0,sizeof(ban));
for(int i=0;i<k;i++){
scanf("%d",&t);
ban[t]=1;
}
int cnt1=0,cnt2=0;
for(int i=0;i<n;i++){
char name[5];
int num,temp;
bool flag=true;
scanf("%s %d",name,&num);
for(int j=0;j<num;j++){
scanf("%d",&temp);
if(ban[temp]==1){
if(flag){
printf("%s:",name);
flag=false;
}
printf(" %04d",temp);
cnt2++;
}
}
if(!flag){
cnt1++;
}
printf("\n");
}
printf("%d %d",cnt1,cnt2);
}