数据结构实验之排序七:选课名单(卡内存的一道题。。坑)

来源:互联网 发布:linux编辑保存命令 编辑:程序博客网 时间:2024/06/06 17:39

RE。。。

带更正

#include<iostream>#include<algorithm>using namespace std;#include<cstdio>#include<cstring>struct people{    char name[100];    int sum_class;    int cl[2005];}a[40000],b[40000];int cmp(people a,people b){    char t[100],l[100];    strcpy(t,a.name);    strcpy(l,b.name);    t[strlen(t)-2]='\0';    l[strlen(l)-2]='\0';    if(strcmp(t,l)<0)    return 1;    return 0;}int main(){    int n,m;    cin>>n>>m;    for(int i=0;i<n;i++)    {        cin>>a[i].name>>a[i].sum_class;        for(int j=0;j<a[i].sum_class;j++)        {            cin>>a[i].cl[j];        }    }        int ans;        for(int i=1;i<=m;i++)        {            ans=0;            for(int j=0;j<n;j++)            {                for(int k=0;k<a[j].sum_class;k++)                {                    if(i==a[j].cl[k])                    {                        b[ans]=a[j];                        ans++;                        break;                    }                }            }            printf("%d %d\n",i,ans);            sort(b,b+ans,cmp);            for(int i=0;i<ans;i++)            puts(b[i].name);        }    return 0;}


0 0
原创粉丝点击