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

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

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

2019-11-10 19:06:08
字體:
來源:轉載
供稿:網友

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
久久综合网hezyo| 国产成人福利夜色影视| 亚洲最新av在线网站| 欧美又大粗又爽又黄大片视频| 亚洲最大av网| 国产精品老女人精品视频| 成人av资源在线播放| 欧美老少配视频| 欧美性生活大片免费观看网址| 久久综合亚洲社区| 欧美成人合集magnet| 91久久精品久久国产性色也91| 久久久av亚洲男天堂| 欧美日韩第一视频| 日韩欧美大尺度| 国产美女主播一区| 国产精品美女久久久免费| 午夜精品国产精品大乳美女| 久热精品视频在线观看一区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲香蕉成视频在线观看| 精品一区二区电影| 国产精品露脸自拍| 国产一区二区三区久久精品| 黄色一区二区在线| 欧美有码在线观看视频| 55夜色66夜色国产精品视频| 亚洲国产精品网站| 人人做人人澡人人爽欧美| 欧美电影第一页| 欧美猛交ⅹxxx乱大交视频| 欧美精品videofree1080p| 亚洲男人天堂古典| 欧美精品videosex极品1| 91成人在线视频| 最近中文字幕2019免费| 国产欧美日韩中文字幕在线| 亚洲free嫩bbb| 亚洲精品在线视频| 亚洲最新中文字幕| 欧洲成人在线观看| 欧美成人手机在线| 国产一区二区在线免费视频| 亚洲欧美日韩区| 欧美一区二区影院| 91色p视频在线| 国产精品人成电影在线观看| 91超碰中文字幕久久精品| 欧美精品激情在线| 日韩成人高清在线| 亚洲偷熟乱区亚洲香蕉av| 日韩精品极品在线观看| 国产精品第10页| 亚州精品天堂中文字幕| 日本免费在线精品| 九九热最新视频//这里只有精品| 色伦专区97中文字幕| 国产suv精品一区二区| 国产日韩精品综合网站| 亚洲tv在线观看| 亚洲国产美女精品久久久久∴| 久久精品中文字幕一区| 91美女片黄在线观看游戏| 亚洲欧美国产精品专区久久| 精品视频久久久| 精品女同一区二区三区在线播放| 久久国产精品久久久久久| 91精品国产99久久久久久| 久久精品视频导航| 亚洲缚视频在线观看| 91久久在线视频| 热久久视久久精品18亚洲精品| 亚洲深夜福利视频| 久久久久久久久电影| 成人亚洲综合色就1024| 久久久久久久久久久久久久久久久久av| 亚洲的天堂在线中文字幕| 全球成人中文在线| 日韩欧美一区二区在线| 久久久www成人免费精品| 欧美性猛交xxxx免费看漫画| 久久久视频免费观看| 91在线免费看网站| 色综合久久悠悠| 精品久久久久久久久中文字幕| 国产成人精品久久二区二区91| 日韩精品久久久久久久玫瑰园| 欧美大片在线影院| 国产精品视频一区二区高潮| 人九九综合九九宗合| 最新69国产成人精品视频免费| 日韩精品免费在线播放| 精品国产户外野外| 亚洲男人天堂久| 欧美激情久久久久久| 中文字幕亚洲无线码在线一区| 亚洲欧美国产精品va在线观看| 成人美女免费网站视频| 亚洲一区二区免费在线| 在线观看成人黄色| 亚洲а∨天堂久久精品喷水| 亚洲成年人在线播放| 国产欧美精品在线| 91亚洲国产成人久久精品网站| 久久精品这里热有精品| 欧美巨乳在线观看| 欧美午夜无遮挡| 国产国语videosex另类| 国产精品成人免费视频| 国产啪精品视频网站| 91国偷自产一区二区三区的观看方式| 国产在线精品播放| 成人信息集中地欧美| 国产精品午夜一区二区欲梦| 国产精品美女免费| 日韩欧美国产中文字幕| 亚洲一区二区久久久久久久| 亚洲天堂av在线免费| 亚洲午夜女主播在线直播| 日韩欧美亚洲国产一区| 91久久精品在线| 精品日韩美女的视频高清| 高清日韩电视剧大全免费播放在线观看| 亚洲天堂2020| 亚洲午夜精品久久久久久久久久久久| 亚洲老头同性xxxxx| 精品日韩视频在线观看| 久久精品国产2020观看福利| x99av成人免费| 欧洲精品久久久| 日韩网站免费观看高清| 97久久精品人人澡人人爽缅北| 俺也去精品视频在线观看| 日韩欧美国产中文字幕| 国产成人亚洲综合91精品| 78色国产精品| 激情懂色av一区av二区av| 国产成人综合久久| 国产精品嫩草影院一区二区| 欧美日韩在线视频一区| 精品亚洲va在线va天堂资源站| 国产精品视频在线观看| 亚洲天堂成人在线| 日韩中文字幕第一页| 亚洲一区中文字幕在线观看| 中文字幕日韩在线视频| 亚洲国产一区二区三区四区| 亚洲a级在线观看| 亚洲免费视频观看| 国产成人精品一区二区三区| 在线观看欧美视频| 欧美一级高清免费| 精品小视频在线| 欧美中文字幕在线播放| 久久精品国产99国产精品澳门| 精品国产欧美一区二区五十路| 久久精品视频免费播放| 在线播放国产一区中文字幕剧情欧美| 色综合久久88色综合天天看泰| 日韩欧美一区二区三区| 欧美wwwxxxx| 国产成人一区二区三区电影| 岛国av在线不卡| 亚洲丁香婷深爱综合|