今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮
每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的
考生,並將他們的成績按降序列印。
測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n ( 0 < n
< 1000 )、考題數m ( 0 < m < = 10 )、分數線(正整數)g;第2行排序給出第1題至第m題的正整數分值;以下n行,每行給出一
名考生的准考證號(長度不超過20的字串)、該生解決的題目總數m、以及這m道題的題號
(題目號由1到m)。
當讀入的考生人數為0時,輸入結束,該場考試不予處理。
對每場考試,首先在第1行輸出不低於分數線的考生人數n,隨後n行按分數從高
到低輸出上線考生的考號與分數,其間用1空格分隔。若有多名考生分數相同,則按他們考
號的公升序輸出。
1 #include2 #include
3struct acm
4 r[1000];
8int qsort(struct acm r,int l,int h)
9
21 r[l] = r[h];
2223
while(l < h && r[l].s >= key.s)
24
30 r[h] = r[l];
31 }
3233 r[l] = key;
34return l;
3536 }
37void sort(struct acm r,int l,int h)
38
46 }
47int main()
48
58for(i = 0;i59
68 }
69 sort(r,0,n-1);
70 k = 0;
71for(i=0;i72
76 printf("
%d\n
",k);
77for(i=0;i < k;i++)
78
8182 }
83return
0;
84 }
快速排序(模板題)
acwing 785 給定你乙個長度為n的整數數列。請你使用快速排序對這個數列按照從小到大進行排序。並將排好序的數列按順序輸出。輸入格式 輸入共兩行,第一行包含整數 n。第二行包含 n 個整數 所有整數均在1 109 範圍內 表示整個數列。輸出格式 輸出共一行,包含 n 個整數,表示排好序的數列。資...
每日一題 92 快速排序
題目來自網路 題目 1 基於陣列的快速排序 題目 2 基於鍊錶的快速排序 題目 1 基於陣列的快速排序 思路 使用分治的思想,先選擇樞軸,之後執行一次劃分,並把原序列劃分兩個子串行,之後遞迴處理。int partition int narr,int nstart,int nend narr nsta...
每日一題 快速排序 20091016
b 問題描述 b 請實現快速排序,並討論pivot對複雜度的影響。b 問題分析 b 快速排序是目前使用頻率較高的排序 當然,有時候為了偷懶就可以冒泡一下 很多參考書上對pivot的選擇就是選擇第乙個元素,但如果是乙個高度排序的序列的話,時間複雜度就會接近o n2 還不如直接用冒泡完成。所以選擇乙個合...