1047 Student List for Course 25

cpp 复制代码
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
const int K = 2510;
const int maxn = 40010;
vector<int> courses[K];
char names[maxn][5];
bool cmp(int a, int b){
    return strcmp(names[a], names[b]) < 0;
}
int main() {
    int N,M;
    scanf("%d%d", &N, &M);
    for(int i = 0; i < N; i++){
        int num;
        scanf("%s %d", names[i], &num);
        for(int j = 0; j < num; j++){
            int id;
            scanf("%d", &id);
            courses[id].push_back(i);
        }
    }
    for(int i = 1; i <= M; i++){
        printf("%d %d\n", i, courses[i].size());
        sort(courses[i].begin(), courses[i].end(), cmp);
        for(int j = 0; j < courses[i].size(); j++){
            printf("%s\n", names[courses[i][j]]);
        }
    }
    return 0;
}
相关推荐
艾莉丝努力练剑2 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
_殊途4 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
珊瑚里的鱼7 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
秋说8 小时前
【PTA数据结构 | C语言版】顺序队列的3个操作
c语言·数据结构·算法
lifallen9 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
liupenglove9 小时前
自动驾驶数据仓库:时间片合并算法。
大数据·数据仓库·算法·elasticsearch·自动驾驶
python_tty10 小时前
排序算法(二):插入排序
算法·排序算法
然我10 小时前
面试官:如何判断元素是否出现过?我:三种哈希方法任你选
前端·javascript·算法
risc12345610 小时前
BKD 树(Block KD-Tree)Lucene
java·数据结构·lucene
F_D_Z11 小时前
【EM算法】三硬币模型
算法·机器学习·概率论·em算法·极大似然估计