1047. Student List for Course (25)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct list
{
char student[1000][5];
int top;
}s[2501];
int comp(const void*a,const void*b)
{
return strcmp((char*)a,(char*)b);
}
int main()
{
int n,k;
scanf("%d %d",&n,&k);
while(n--)
{
char name[5];
int i,ans=0,len;
scanf("%s %d",name,&len);
for(i=0;i<len;i++)
{
scanf("%d",&ans);
strcpy(s[ans].student[s[ans].top++],name);
}
}
int i;
for(i=1;i<=k;i++)
{
printf("%d %d\n",i,s[i].top);
qsort(s[i].student,s[i].top,sizeof(s[i].student[0]),comp);
int j;
for(j=0;j<s[i].top;j++)
printf("%s\n",s[i].student[j]);
}
return 0;
}