亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

PAT乙級 (Basic Level) Practise - 1015 德才論

2019-11-10 18:37:57
字體:
來源:轉載
供稿:網友

1015. 德才論 (25)

原題:

宋代史學家司馬光在《資治通鑒》中有一段著名的“德才論”:“是故才德全盡謂之圣人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,茍不得圣人,君子而與之,與其得小人,不若得愚人?!?/p>

現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。

輸入格式:

輸入第1行給出3個正整數,分別為:N(<=105),即考生總數;L(>=60),為錄取最低分數線,即德分和才分均不低于L的考生才有資格被考慮錄??;H(<100),為優先錄取線——德分和才分均不低于此線的被定義為“才德全盡”,此類考生按德才總分從高到低排序;才分不到但德分到線的一類考生屬于“德勝才”,也按總分排序,但排在第一類考生之后;德才分均低于H,但是德分不低于才分的考生屬于“才德兼亡”但尚有“德勝才”者,按總分排序,但排在第二類考生之后;其他達到最低線L的考生也按總分排序,但排在第三類考生之后。

隨后N行,每行給出一位考生的信息,包括:準考證號、德分、才分,其中準考證號為8位整數,德才分為區間[0, 100]內的整數。數字間以空格分隔。

輸出格式:

輸出第1行首先給出達到最低分數線的考生人數M,隨后M行,每行按照輸入格式輸出一位考生的信息,考生按輸入中說明的規則從高到低排序。當某類考生中有多人總分相同時,按其德分降序排列;若德分也并列,則按準考證號的升序輸出。 輸入樣例:

14 60 80 10000001 64 90 10000002 90 60 10000011 85 80 10000003 85 80 10000004 80 85 10000005 82 77 10000006 83 76 10000007 90 78 10000008 75 79 10000009 59 90 10000010 88 45 10000012 80 100 10000013 90 99 10000014 66 60

輸出樣例:

12 10000013 90 99 10000012 80 100 10000003 85 80 10000011 85 80 10000004 80 85 10000007 90 78 10000006 83 76 10000005 82 77 10000002 90 60 10000014 66 60 10000008 75 79 10000001 64 90

思路:

該題首先要對輸入數據進行分類,再進行多級排序。思路上清晰,但具體實現很繁瑣。我是用純C語言實現的,起先自己試寫多級排序函數,但是提交后提示有兩個測試節點運行超時,懷疑是大量數據輸入時導致排序函數速度更不上而超時。

很頭疼的小改了下代碼,還是超時。于是參考了人家寫的C/C++混合代碼,發現大多存在這個問題,且過來人均建議采用stdlib函數庫中的qsort來實現該排序功能。于是我學習并采用了該函數,使得最終代碼成功過檢。

總之該題耗費了很多時間,但是也學到了不少東西。

原始代碼(DIY的多級排序:超時):

#include <stdio.h>#include <stdlib.h>struct stu{ int ID; int D; int C; int S;};void sort_func(struct stu* class, int num);int main(void){ int N, L, H; int i; struct stu *stud; struct stu *class1, *class2, *class3, *class4; int cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0; scanf("%d%d%d", &N, &L, &H); while(N<=0) { 最終代碼(采用庫函數:成功過檢)

#include <stdio.h>#include <stdlib.h>struct stu{ int ID; int D; int C; int S;};int cmp(const void *p1, const void *p2){ struct stu *x = (struct stu *)p1; struct stu *y = (struct stu *)p2; if (x->S!=y->S) return x->S < y->S; else if(x->D!=y->D) return x->D < y->D; else return x->ID > y->ID;}int main(void){ int N, L, H; int i; struct stu *stud; struct stu *class1, *class2, *class3, *class4; int cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0; scanf("%d%d%d", &N, &L, &H); while(N<=0) { printf("INPUT ILLEGAL!! PLEASE INPUT AGAIN!!/n"); scanf("%d%d%d", &N, &L, &H); } stud = (struct stu *)malloc(sizeof(struct stu)*N); class1 = (struct stu *)malloc(sizeof(struct stu)*N); class2 = (struct stu *)malloc(sizeof(struct stu)*N); class3 = (struct stu *)malloc(sizeof(struct stu)*N); class4 = (struct stu *)malloc(sizeof(struct stu)*N); for(i = 0; i < N; i++) { scanf("%d%d%d", &stud[i].ID, &stud[i].D, &stud[i].C); if(stud[i].D<L && stud[i].C<L) continue; if (stud[i].D>=H && stud[i].C>=H) { class1[cnt1] = stud[i]; class1[cnt1].S = class1[cnt1].D + class1[cnt1].C; cnt1++; } else if(stud[i].D>=H && stud[i].C<H && stud[i].C>=L) { class2[cnt2] = stud[i]; class2[cnt2].S = class2[cnt2].D + class2[cnt2].C; cnt2++; } else if(stud[i].D<H && stud[i].C<H && stud[i].D>=stud[i].C && stud[i].D>=L && stud[i].C>=L) { class3[cnt3] = stud[i]; class3[cnt3].S = class3[cnt3].D + class3[cnt3].C; cnt3++; } else if(stud[i].D>=L && stud[i].C>=L) { class4[cnt4] = stud[i]; class4[cnt4].S = class4[cnt4].D + class4[cnt4].C; cnt4++; } } qsort(class1, cnt1, sizeof(class1[0]), cmp); qsort(class2, cnt2, sizeof(class2[0]), cmp); qsort(class3, cnt3, sizeof(class3[0]), cmp); qsort(class4, cnt4, sizeof(class4[0]), cmp); printf("%d/n", cnt1+cnt2+cnt3+cnt4); for (i = 0; i < cnt1; ++i) { printf("%d %d %d", class1[i].ID, class1[i].D, class1[i].C); if (i!=(cnt1-1) || (cnt2+cnt3+cnt4)) { printf("/n"); } } for (i = 0; i < cnt2; ++i) { printf("%d %d %d", class2[i].ID, class2[i].D, class2[i].C); if (i!=cnt2-1 || (cnt3+cnt4)) { printf("/n"); } } for (i = 0; i < cnt3; ++i) { printf("%d %d %d", class3[i].ID, class3[i].D, class3[i].C); if (i!=cnt3-1 || cnt4) { printf("/n"); } } for (i = 0; i < cnt4; ++i) { printf("%d %d %d", class4[i].ID, class4[i].D, class4[i].C); if (i!=cnt4-1) { printf("/n"); } } free(stud); free(class1); free(class2); free(class3); free(class4); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成伊人成综合网久久久| 国产一区二区黄| 青青草一区二区| 亚洲福利小视频| 成人在线视频网| 国产精品高清网站| 亚洲欧美国产日韩中文字幕| 在线视频中文亚洲| 成人黄色av播放免费| 7777免费精品视频| 日韩av在线免费看| 欧美另类高清videos| 亚洲一区二区三区成人在线视频精品| 色噜噜亚洲精品中文字幕| 日韩成人在线网站| 欧美刺激性大交免费视频| 亚洲欧美国产日韩中文字幕| 亚洲影影院av| 亚洲欧美精品一区二区| 亚洲精选中文字幕| 91免费在线视频网站| 久久久噜噜噜久久中文字免| 色综合久久中文字幕综合网小说| 久久久噜噜噜久久| 久久精品国产欧美亚洲人人爽| 69**夜色精品国产69乱| 日本一区二区三区四区视频| 亚洲丝袜av一区| 91热精品视频| 国产日韩视频在线观看| 精品国产拍在线观看| 日韩成人激情在线| 国产精品久久久久久网站| 亚洲高清色综合| 668精品在线视频| 色综合天天综合网国产成人网| 亚洲国产欧美日韩精品| 日本久久亚洲电影| 国产精品久久久久久久久粉嫩av| 欧美在线免费看| 91九色在线视频| 懂色aⅴ精品一区二区三区蜜月| 亚洲国产精品va在线观看黑人| 亚洲欧美日韩直播| 这里只有精品在线播放| 久久av中文字幕| 亚洲一区999| 国产在线视频2019最新视频| 最近2019年中文视频免费在线观看| 精品福利一区二区| 亚洲春色另类小说| 亚洲国产另类 国产精品国产免费| 日韩av色在线| 日韩电影大全免费观看2023年上| 欧美性猛交xxxx乱大交蜜桃| 亚洲第一免费播放区| 国产精品视频内| 国产91在线播放| 欧美午夜精品伦理| 亚洲精品自拍视频| 午夜精品久久久久久久99黑人| 国产日韩欧美在线看| 欧美日本啪啪无遮挡网站| 精品国产一区久久久| 在线观看久久av| 成人伊人精品色xxxx视频| 久久久免费观看| 亚洲aa中文字幕| 欧美特黄级在线| 国产欧亚日韩视频| 美女福利精品视频| 欧美日韩性视频| 国产午夜精品视频免费不卡69堂| 国产福利精品在线| 国产区精品在线观看| 欧美电影电视剧在线观看| 国产精品热视频| 亚洲美女激情视频| 欧美成年人视频网站欧美| 国产午夜一区二区| 影音先锋欧美在线资源| 国产女同一区二区| 亚洲伊人久久综合| 亚洲女同性videos| 97av在线视频| 亚洲一区999| 日韩黄色在线免费观看| 57pao国产精品一区| 国产精品劲爆视频| 成人免费看吃奶视频网站| 久久国产天堂福利天堂| 欧美日韩国产专区| 成人免费观看网址| 久久久久久久国产精品| 亚洲bt天天射| 成人久久18免费网站图片| 日韩小视频在线| 欧美成人在线网站| 日韩精品一区二区视频| 欧美中文在线观看| 亚洲一区二区三区毛片| 欧美美女18p| 久久久久久久999| 欧美大成色www永久网站婷| 91久久久久久久久久久久久| 欧美性猛交99久久久久99按摩| 亚洲精品视频免费在线观看| 日本免费一区二区三区视频观看| 久久免费视频在线观看| 日韩亚洲欧美成人| 少妇av一区二区三区| 日韩中文字幕在线视频播放| 日韩欧美高清视频| 日韩av网站电影| 2019av中文字幕| 午夜精品福利电影| 国外成人免费在线播放| 久久这里只有精品视频首页| 欧美一区二区视频97| 热久久免费视频精品| 欧美激情中文字幕在线| 国产精品电影网站| 欧美成人午夜视频| 亚洲精品午夜精品| 亚洲欧美日韩成人| 久久人人爽人人爽人人片av高请| 国产成人一区二区三区小说| 日本久久久久久| 日韩欧美在线视频| 亚洲美女性生活视频| 亚洲精品一区二三区不卡| zzjj国产精品一区二区| 日韩av网址在线| 国产亚洲欧美日韩一区二区| 亚洲一区二区三区香蕉| 91在线观看免费高清完整版在线观看| 亚洲iv一区二区三区| 麻豆精品精华液| 日韩电影大全免费观看2023年上| 欧美日韩视频在线| 51精品在线观看| 欧美日韩精品二区| 奇米4444一区二区三区| 国产精品一区二区性色av| 欧美亚洲国产另类| 国产盗摄xxxx视频xxx69| 日韩成人在线免费观看| 日韩电影免费在线观看| 狠狠综合久久av一区二区小说| 国产999精品久久久| 欧美日韩在线影院| 国产成人97精品免费看片| 久久久91精品国产一区不卡| 亚洲精品乱码久久久久久按摩观| 欧美久久精品午夜青青大伊人| 亚洲mm色国产网站| 久久久久久一区二区三区| 亚洲亚裔videos黑人hd| 91麻豆桃色免费看| 国产成+人+综合+亚洲欧美丁香花| 亚洲欧美日韩精品久久| 成人av在线亚洲| 中文字幕日韩精品在线观看| 成人午夜在线视频一区|