代码实现: #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; }