代码实现:
#include<stdio.h>
int main()
{
int N, M, want[10000], cnt_stu = 0, cnt_tool = 0;
scanf("%d %d", &N, &M);
for (int i = 0; i < 10000; i++)
want[i] = 0;
for (int i = 0; i < M; i++)
{
int number;
scanf("%d", &number);
want[number] = 1;
}
for (int i = 0; i < N; i++)
{
int tools[10000], K, flag = 0;
char name[5];
for (int j = 0; j < 10000; j++)
tools[j] = 0;
scanf("%s %d", name, &K);
for (int j = 0; j < K; j++)
{
int number;
scanf("%d", &number);
if (want[number] == 1 && flag == 0)
printf("%s: %04d", name, number), flag = 1, cnt_stu++, cnt_tool++;
else if (want[number] == 1 && flag == 1)
printf(" %04d", number), cnt_tool++;
}
if (flag != 0)
printf("\n");
}
printf("%d %d", cnt_stu, cnt_tool);
return 0;
}