problem description
隨著學校規模的擴大,學生人數急劇增加,選課名單的輸出也成為乙個繁重的任務,我校目前有在校生3萬多名,兩千多門課程,請根據給定的學生選課清單輸出每門課的選課學生名單。
input
輸入第一行給出兩個正整數n( n ≤ 35000)和m(m ≤ 2000),其中n是全校學生總數,m是課程總數,隨後給出n行,每行包括學生姓名拼音+學號後兩位(字串總長度小於10)、數字s代表該學生選課的總數,隨後是s個課程編號,約定課程編號從1到m,資料之間以空格分隔。
output
按課程編號遞增的順序輸出課程編號、選課總人數以及選課學生名單,對選修同一門課程的學生按姓名的字典序輸出學生名單。資料之間以空格分隔,行末不得有多餘空格。
example input
5 3jack01 2 2 3
jone01 2 1 3
anni02 1 1
harry01 2 1 3
tbh27 1 1
example output
1 4anni02
harry01
jone01
tbh27
2 1jack01
3 3harry01
jack01
jone01
乙個簡單的快排問題,不過不同於其他快排的地方在於對字串進行快速排序,看了看提交中普遍**長度接近1w,於是手寫了一下自己的**,
首選建立乙個結構體來儲存每乙個科目,在這裡要注意二維字元陣列name[ ][ ]的選取,如果選的過大,會爆掉。 每當有乙個同學選這一科目,就存進相應的結構體裡到最後對結構體進行一次簡單的快速排序就可以了
**如下
#include #include #include using namespace std;
struct node
a[2050];
void qsort(int fis, int end,int id)
j--;
}while (i
資料結構實驗之排序七 選課名單
隨著學校規模的擴大,學生人數急劇增加,選課名單的輸出也成為乙個繁重的任務,我校目前有在校生3萬多名,兩千多門課程,請根據給定的學生選課清單輸出每門課的選課學生名單。輸入第一行給出兩個正整數n n 35000 和m m 2000 其中n是全校學生總數,m是課程總數,隨後給出n行,每行包括學生姓名拼音 ...
資料結構實驗之排序七 選課名單
time limit 1000ms memory limit 65536k 隨著學校規模的擴大,學生人數急劇增加,選課名單的輸出也成為乙個繁重的任務,我校目前有在校生3萬多名,兩千多門課程,請根據給定的學生選課清單輸出每門課的選課學生名單。輸入第一行給出兩個正整數n n 35000 和m m 200...
資料結構實驗之排序七 選課名單
資料結構實驗之排序七 選課名單 time limit 1000ms memory limit 65536k 隨著學校規模的擴大,學生人數急劇增加,選課名單的輸出也成為乙個繁重的任務,我校目前有在校生3萬多名,兩千多門課程,請根據給定的學生選課清單輸出每門課的選課學生名單。輸入第一行給出兩個正整數n ...