数据结构实验之排序七:选课名单——快速排序

来源:互联网 发布:包装效果图制作软件 编辑:程序博客网 时间:2024/06/05 18:38

Think:
1知识点:sort()+结构体+分治
2反思:自己用相同的代码交了多次,有的超时,有的通过——???

SDUT题目链接

以下为提交的代码

#include <bits/stdc++.h>using namespace std;struct node {    char name[14];}ans[2004][35004];int tp[2004];bool cmp(struct node a, struct node b){    if(strcmp(a.name, b.name) <= 0)        return true;    else        return false;}int main(){    char st[14];    int n, m, i, j, k, v;    scanf("%d %d", &n, &m);    getchar();    memset(tp, 0, sizeof(tp));    for(i = 0; i < n; i++){        scanf("%s %d", st, &k);        for(j = 0; j < k; j++){            scanf("%d", &v);            strcpy(ans[v][tp[v]].name, st);            tp[v]++;        }    }    for(i = 1; i <= m; i++){        sort(ans[i], ans[i]+tp[i], cmp);        printf("%d %d\n", i, tp[i]);        for(j = 0; j < tp[i]; j++)            printf("%s\n", ans[i][j].name);    }    return 0;}/***************************************************User name: Result: AcceptedTake time: 84msTake Memory: 10776KBSubmit time: 2017-07-15 08:49:34****************************************************//***************************************************User name: Result: Time Limit ExceededTake time: 1010msTake Memory: 0KBSubmit time: 2017-07-15 08:51:34****************************************************//***************************************************User name: Result: AcceptedTake time: 80msTake Memory: 10720KBSubmit time: 2017-07-15 08:52:10****************************************************//***************************************************User name: Result: Time Limit ExceededTake time: 1010msTake Memory: 0KBSubmit time: 2017-07-15 08:52:33****************************************************//***************************************************User name: Result: AcceptedTake time: 84msTake Memory: 10692KBSubmit time: 2017-07-15 08:52:56****************************************************/
原创粉丝点击