列印學生選課清單 25 分

2021-10-21 06:59:21 字數 1547 閱讀 5291

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

輸入格式:

輸入的第一行是兩個正整數:n(≤40000),為前來查詢課表的學生總數;k(≤2500),為總課程數。此後順序給出課程1到k的選課學生名單。格式為:對每一門課,首先在一行中輸出課程編號(簡單起見,課程從1到k編號)和選課學生總數(之間用空格分隔),之後在第二行給出學生名單,相鄰兩個學生名字用1個空格分隔。學生姓名由3個大寫英文本母+1位數字組成。選課資訊之後,在一行內給出了n個前來查詢課表的學生的名字,相鄰兩個學生名字用1個空格分隔。

輸出格式:

對每位前來查詢課表的學生,首先輸出其名字,隨後在同一行中輸出乙個正整數c,代表該生所選的課程門數,隨後按遞增順序輸出c個課程的編號。相鄰資料用1個空格分隔,注意行末不能輸出多餘空格。

輸入樣例:

1051

4ann0

bob5

jay9

lor627

ann0

bob5

fra8

jay9

joe4

kat3

lor631

bob547

bob5

don2

fra8

jay9

kat3

lor6

zoe159

amy7

ann0

bob5

don2

fra8

jay9

kat3

lor6

zoe1

zoe1

ann0

bob5

joe4

jay9

fra8

don2

amy7

kat3

lor6

輸出樣例:

zoe124

5ann031

25bob551

2345

joe412

jay941

245fra832

45don224

5amy715

kat332

45lor641

245

thinking

將學生的姓名對映成乙個數字,這樣的數字唯一,然後用vector開拓變長陣列,把課程號push進去,隨後sort排序

#

include

#include

#include

using

namespace std;

intmap

(char name)

;vector<

int> student[

1000000];

intmain()

}while

(n--

)return0;

}

5 49 列印學生選課清單 25分

假設全校有最多40000名學生和最多2500門課程。現給出每門課的選課學生名單,要求輸出每個前來查詢的學生的選課清單。輸入的第一行是兩個正整數 n le 40000 為前來查詢課表的學生總數 k le 2500 為總課程數。此後順序給出課程1到k的選課學生名單。格式為 對每一門課,首先在一行中輸出課...

7 14 列印學生選課清單 25 分

假設全校有最多40000名學生和最多2500門課程。現給出每門課的選課學生名單,要求輸出每個前來查詢的學生的選課清單。輸入的第一行是兩個正整數 n 40000 為前來查詢課表的學生總數 k 2500 為總課程數。此後順序給出課程1到k的選課學生名單。格式為 對每一門課,首先在一行中輸出課程編號 簡單...

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

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