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

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

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

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

1015. 德才論 (25)

原題:

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

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

輸入格式:

輸入第1行給出3個正整數,分別為:N(<=105),即考生總數;L(>=60),為錄取最低分數線,即德分和才分均不低于L的考生才有資格被考慮錄?。籋(<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
亚洲国产小视频| 在线观看欧美成人| 在线电影欧美日韩一区二区私密| 国产suv精品一区二区三区88区| 日韩专区在线观看| 欧美中文在线观看国产| 亚洲男子天堂网| 97视频在线观看播放| 国产福利视频一区| 一区二区欧美日韩视频| 欧美精品国产精品日韩精品| 欧美野外wwwxxx| 九九热最新视频//这里只有精品| 欧美日韩免费网站| 精品久久香蕉国产线看观看亚洲| 国产精品自拍小视频| 青青a在线精品免费观看| 97视频在线观看成人| 国产精品久久久久福利| 成人av番号网| 精品久久香蕉国产线看观看亚洲| 亚洲精品一区二三区不卡| 欧美成人精品xxx| 亚洲香蕉成人av网站在线观看| 国产欧美日韩中文字幕在线| 国产一区二区三区网站| 亚洲91精品在线| 欧美视频一二三| 8090成年在线看片午夜| 成人两性免费视频| 欧美与欧洲交xxxx免费观看| 国产精品偷伦视频免费观看国产| 国产精品网址在线| 国产亚洲一区精品| 亚洲精品一区二三区不卡| 另类美女黄大片| 日韩成人激情影院| 欧美激情欧美激情| 成人福利在线观看| 国产精品h片在线播放| 欧美巨大黑人极品精男| 亚洲欧美日韩国产精品| 成人国产精品免费视频| 亚洲人成网站999久久久综合| 亚洲影视中文字幕| 日韩在线播放av| 欧美影院久久久| 激情亚洲一区二区三区四区| 国产不卡av在线免费观看| 国产精品96久久久久久| 琪琪亚洲精品午夜在线| 中文字幕亚洲欧美日韩在线不卡| 亚洲最大的免费| 中文字幕亚洲一区二区三区| 亚洲偷熟乱区亚洲香蕉av| 国产精品pans私拍| 欧美成人免费网| 亚洲精品电影网在线观看| 91久热免费在线视频| 欧美大奶子在线| 亚洲综合一区二区不卡| 韩曰欧美视频免费观看| 538国产精品一区二区在线| 亚洲二区中文字幕| 亚洲人精选亚洲人成在线| 亚洲国产精品视频在线观看| 精品一区二区亚洲| 亚洲欧美国产高清va在线播| 国产精品偷伦免费视频观看的| 日韩少妇与小伙激情| 国产视频一区在线| 91探花福利精品国产自产在线| 美乳少妇欧美精品| 国产综合香蕉五月婷在线| 久久中文字幕一区| 国内精品久久久久影院优| 国产欧美一区二区三区在线看| 91精品综合久久久久久五月天| 97在线精品国自产拍中文| 成人夜晚看av| 国产精品你懂得| 精品一区电影国产| 亚洲欧美中文日韩在线| 久热精品在线视频| 久久久成人精品视频| 欧美放荡办公室videos4k| 久久久国产91| 一区二区三区动漫| 国产剧情久久久久久| 日韩精品免费在线视频观看| 国内外成人免费激情在线视频网站| 国产精品久久久久免费a∨大胸| 国产精品电影一区| 日韩少妇与小伙激情| 国产日韩精品在线观看| 国产噜噜噜噜噜久久久久久久久| www.国产精品一二区| 亚洲新声在线观看| 日日骚av一区| 九九久久久久99精品| 亚洲国产精品推荐| 亚洲电影免费观看高清完整版| 亚洲精品成人免费| 91在线视频导航| 精品视频www| 亚洲国产精品专区久久| 成人免费在线视频网站| 欧美一级高清免费播放| 国产精品亚洲激情| 一区二区三区高清国产| 久久久久久久999精品视频| 中文字幕日韩电影| 亚洲精品中文字幕女同| 色综合久久天天综线观看| 日韩美女激情视频| 日本高清久久天堂| 日韩最新在线视频| 欧美丝袜一区二区三区| 成人在线免费观看视视频| 国产精品吹潮在线观看| 色综合天天狠天天透天天伊人| 国产欧美精品日韩| 欧美成人一区在线| 亚洲人成电影在线播放| 久久99国产综合精品女同| 国产精品6699| 欧美在线精品免播放器视频| 日韩在线视频导航| 亚洲精品成人久久电影| 在线观看欧美成人| 性欧美视频videos6一9| 揄拍成人国产精品视频| 97免费中文视频在线观看| 日韩精品久久久久久久玫瑰园| 68精品国产免费久久久久久婷婷| 亚洲精品www久久久久久广东| 欧美精品videosex牲欧美| 国产原创欧美精品| 97国产精品人人爽人人做| 国产不卡在线观看| 欧美精品国产精品日韩精品| 亚洲美女福利视频网站| 国产精品wwwwww| 亚洲综合日韩在线| 亚洲精选中文字幕| 91亚洲va在线va天堂va国| 欧美日韩午夜激情| 国模视频一区二区三区| 国产精品久久久久久久久免费| 欧美成人性色生活仑片| 国产在线高清精品| 日韩在线资源网| 美女视频黄免费的亚洲男人天堂| 午夜精品福利视频| 精品久久久国产| 国产91精品久久久久久久| 国产欧美一区二区三区在线看| 欧美在线视频在线播放完整版免费观看| 色播久久人人爽人人爽人人片视av| 中文字幕亚洲欧美一区二区三区| 欧美成人激情图片网| 久久精品国产精品| 久久精品久久精品亚洲人| 7777免费精品视频|