PAT_1047. Student List for Course

来源:互联网 发布:python搭建web服务器 编辑:程序博客网 时间:2024/06/05 07:25
////  main.cpp//  PAT_1047. Student List for Course////  Created by wjq on 17/5/11.//  Copyright © 2017年 wjq. All rights reserved.//#include <iostream>#include <algorithm>#include <vector>#include <string.h>using namespace std;int N,K,C,course;vector<int> m[2505];string student[40005];int cmp(int a,int b){    return student[a]<student[b];}int main(int argc, const char * argv[]){    scanf("%d%d",&N,&K);    for(int i=0;i<N;i++)    //i作为学生编号,从0开始    {        //输入学生名字        char name[10];        scanf("%s%d",name,&C);        student[i]=name;        for(int j=0;j<C;j++)        {            scanf("%d",&course);        //course为课程编号,从1开始            m[course-1].push_back(i);        }    }        for(int i=0;i<K;i++)   //i为课程编号,从0开始.    {                sort(m[i].begin(),m[i].end(),cmp);        printf("%d %lu\n",i+1,m[i].size());        for(int j=0;j<m[i].size();j++)            printf("%s\n",student[m[i][j]].c_str());    }    return 0;}



被这题的第四个点卡了很久超时...瞎改瞎改过了....

一开始 我用的 map<int,vector<int> > m 来存课程id与学生id的关系,后来改成vector<int> m[2505],这样就不超时了.

0 0
原创粉丝点击