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

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

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

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

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在线不卡| 中文字幕亚洲二区| 亚洲激情中文字幕| 日韩欧美亚洲范冰冰与中字| 精品五月天久久| 亚洲伦理中文字幕| 亚洲男子天堂网| 国产精品久久久久不卡| 午夜免费久久久久| 亚洲欧美精品伊人久久| 欧美日韩999| 亚洲视频在线播放| 97视频在线观看视频免费视频| 日韩欧美国产视频| 91国产精品电影| 精品亚洲夜色av98在线观看| zzijzzij亚洲日本成熟少妇| 国产成人在线一区二区| 亚洲欧美另类中文字幕| 国产精品网站入口| 日韩美女在线看| 欧美视频二区36p| 国模极品一区二区三区| 久久精视频免费在线久久完整在线看| 久久成人人人人精品欧| 日韩电影中文字幕| 91sa在线看| 国产成人在线播放| 亚洲一区美女视频在线观看免费| 青青久久av北条麻妃海外网| 久久综合久久八八| 少妇高潮 亚洲精品| 亚洲一区二区三区在线视频| 中文字幕久热精品视频在线| 色婷婷综合久久久久| 久热99视频在线观看| 日韩综合视频在线观看| 精品国产91久久久久久老师| 午夜精品久久久久久久99黑人| 精品夜色国产国偷在线| 国产不卡av在线免费观看| 精品一区精品二区| 91精品久久久久久久久不口人| 狠狠躁夜夜躁人人躁婷婷91| 国产精品流白浆视频| 久久天天躁狠狠躁夜夜av| 亚洲自拍偷拍视频| 国产精品美乳一区二区免费| 亚洲精品av在线播放| 日韩在线播放视频| 亚洲精品久久在线| 在线亚洲欧美视频| 一区二区欧美激情| 国产精品亚洲激情| 欧美丰满老妇厨房牲生活| 国产第一区电影| 91深夜福利视频| 91在线视频九色| 欧美高清电影在线看| 日本19禁啪啪免费观看www| 伊人伊人伊人久久| 久久成人精品电影| 久久视频在线免费观看| 超在线视频97| 日韩在线精品视频| 中文字幕在线看视频国产欧美| 国产自产女人91一区在线观看| 日韩中文字在线| 亚洲精品二三区| 91精品国产色综合久久不卡98口| 日韩影视在线观看| 精品露脸国产偷人在视频| 91亚洲va在线va天堂va国| 亚洲精品国产精品乱码不99按摩| 亚洲色图第三页| 亚洲国产女人aaa毛片在线| 成人激情视频小说免费下载| 蜜臀久久99精品久久久无需会员| 麻豆乱码国产一区二区三区| 国产精品久久久久aaaa九色| 欧美日韩999| 热99精品只有里视频精品| 亚洲欧美成人精品| 美女福利视频一区| 91福利视频网| 亚洲一区二区久久久| 亚洲欧美日韩区| 亚洲级视频在线观看免费1级| 国产aaa精品| 91美女片黄在线观| 久久久免费高清电视剧观看| 欧美美最猛性xxxxxx| 国产日产欧美a一级在线| 久久久精品999| 亚洲va久久久噜噜噜久久天堂| 欧美日韩成人精品| 久久综合久久美利坚合众国| 亚洲国产另类久久精品| 欧美午夜久久久| 中文字幕精品一区久久久久| 久久久久久久久久婷婷| 精品小视频在线| 日本一本a高清免费不卡| 亚洲第一av网| 久久视频免费在线播放| 国产精品久久综合av爱欲tv| 日韩欧美精品在线观看| 久久精品国产亚洲| 亚洲一二三在线| 日韩大胆人体377p| 久久免费精品日本久久中文字幕| 精品毛片网大全| 91国在线精品国内播放| 久久精品久久久久久国产 免费| 亚洲bt欧美bt日本bt| 国产精品免费电影| 久久99国产综合精品女同| www亚洲精品| 91爱爱小视频k| 国产精品久久久久久久久久久久久| 国产精品99久久久久久久久| 亚洲免费一级电影| 欧美视频不卡中文| 中文字幕日韩av电影| 久久91超碰青草是什么| 美女久久久久久久| 国产精品久久不能| 91久久嫩草影院一区二区| 国产日本欧美在线观看| 欧美富婆性猛交| 欧美国产日韩精品| 欧美成人国产va精品日本一级| 91人人爽人人爽人人精88v| 国产日韩精品在线播放| 国产精品无av码在线观看| 全亚洲最色的网站在线观看| 成人久久久久爱| 欧美激情视频网址| 日韩欧美黄色动漫| 国产精品偷伦一区二区| 欧美精品videosex极品1| 亚洲乱码av中文一区二区| 久久五月天综合| 欧美成人自拍视频| 久久成年人视频| 国产精品免费网站| 亚洲国产成人在线播放| 亚洲一区二区三区在线免费观看| 精品成人国产在线观看男人呻吟| 国产精品一区久久| 成人黄色av免费在线观看| 亚洲一区二区三区四区在线播放| 日韩美女在线播放| 精品露脸国产偷人在视频| 国产日韩欧美一二三区| 亚洲国产精品人人爽夜夜爽| 欧美亚洲另类激情另类| 国内揄拍国内精品少妇国语| 欧美在线播放视频| 97国产精品久久| 性色av一区二区三区在线观看|