STL_A1039 Course List for Student (25 分)

#include<cstdio>
#include<iostream>
using namespace std;
#include<vector>
 
 
45556566
#include<algorithm>
 
const int M= 26 * 26 * 26 * 10 + 1 ;
vector< int > selectCourse[M];
 
//把字符串name转换成数字
int nameToNum( char name[]) {
     int id= 0 ;
     for ( int i= 0 ;i< 3 ;i++) {
         id=id* 26 +(name[i]- 'A' );
     }
     id=id* 10 +(name[ 3 ]- '0' );
     return id;
}
 
int main() {
     int n,k;
     char name[ 5 ];
     scanf( "%d%d" ,&n,&k);
     for ( int i= 0 ;i<k;i++) {
         int course,x;
         scanf( "%d%d" ,&course,&x);
         for ( int j= 0 ;j<x;j++) {
             scanf( "%s" ,name);
             int id=nameToNum(name);
             selectCourse[id].push_back(course);
         }
     }
     for ( int i= 0 ;i<n;i++) {
         scanf( "%s" ,name);
         int id=nameToNum(name);
         sort(selectCourse[id].begin(),selectCourse[id].end());
         printf( "%s %d" ,name,selectCourse[id].size());
         for ( int j= 0 ;j<selectCourse[id].size();j++) {
             printf( " %d" ,selectCourse[id][j]);
         }
         printf( "\n" );
     }
     return 0 ;
}

猜你喜欢

转载自www.cnblogs.com/2o2o/p/11366018.html
今日推荐