列印選課學生名單 (25 分)

2021-09-12 08:36:32 字數 1189 閱讀 2585

假設全校有最多40000名學生和最多2500門課程。現給出每個學生的選課清單,要求輸出每門課的選課學生名單。

輸入的第一行是兩個正整數:n(≤40000),為全校學生總數;k(≤2500),為總課程數。此後n行,每行包括乙個學生姓名(3個大寫英文本母+1位數字)、乙個正整數c(≤20)代表該生所選的課程門數、隨後是c個課程編號。簡單起見,課程從1到k編號。

順序輸出課程1到k的選課學生名單。格式為:對每一門課,首先在一行中輸出課程編號和選課學生總數(之間用空格分隔),之後在第二行按字典序輸出學生名單,每個學生名字佔一行。

10 5

zoe1 2 4 5

ann0 3 5 2 1

bob5 5 3 4 2 1 5

joe4 1 2

jay9 4 1 2 5 4

fra8 3 4 2 5

don2 2 4 5

amy7 1 5

kat3 3 5 4 2

lor6 4 2 4 1 5

1 4

ann0

bob5

jay9

lor6

2 7ann0

bob5

fra8

jay9

joe4

kat3

lor6

3 1bob5

4 7bob5

don2

fra8

jay9

kat3

lor6

zoe1

5 9amy7

ann0

bob5

don2

fra8

jay9

kat3

lor6

zoe1

#include#include#include#includeusing namespace std;

struct nodecourse[2510][40010];

int num[2510]; //num陣列儲存選某一節課人數

bool cmp(node a,node b)

int main()

} for(i = 1; i <= k; i++)

for(i = 1; i <= k; i++)

} return 0;

}

列印選課學生名單

假設全校有最多40000名學生和最多2500門課程。現給出每個學生的選課清單,要求輸出每門課的選課學生名單。輸入格式 輸入的第一行是兩個正整數 n 40000 為全校學生總數 k 2500 為總課程數。此後n行,每行包括乙個學生姓名 3個大寫英文本母 1位數字 乙個正整數c 20 代表該生所選的課程...

7 47 列印選課學生名單 (25 分)

7 47 列印選課學生名單 25 分 假設全校有最多40000名學生和最多2500門課程。現給出每個學生的選課清單,要求輸出每門課的選課學生名單。輸入的第一行是兩個正整數 n 40000 為全校學生總數 k 2500 為總課程數。此後n行,每行包括乙個學生姓名 3個大寫英文本母 1位數字 乙個正整數...

7 4 列印選課學生名單 25 分

假設全校有最多40000名學生和最多2500門課程。現給出每個學生的選課清單,要求輸出每門課的選課學生名單。輸入的第一行是兩個正整數 n 40000 為全校學生總數 k 2500 為總課程數。此後n行,每行包括乙個學生姓名 3個大寫英文本母 1位數字 乙個正整數c 20 代表該生所選的課程門數 隨後...