日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【PAT甲级 排序】1012 The Best Rank (25 分) C++ 全部AC

發(fā)布時間:2024/2/28 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【PAT甲级 排序】1012 The Best Rank (25 分) C++ 全部AC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

中規(guī)中矩的一道題。排名的順序一開始沒太明白,但是理解之后寫起來挺流暢的,沒什么坑。

解題思路:題目會給出所有學生所有科目的成績、想要看分學生的學號。

  • 我們要先給這些學生單科成績排序,算出它們的單科排名,存在Stu中
  • 再依次輸出想要看分的學生的最好成績(最好成績的學科 最好成績的排名)。如果學號不存在,就輸出N/A



題解 C++

#include<iostream> #include<string> #include<algorithm> using namespace std; class Stu { public:string id;int C, CC;//C分數 CC排名int M, MM;int E, EE;int A, AA; }; //自定義排序函數:大在前 int cmpC(Stu a, Stu b) {return(a.C > b.C); } int cmpM(Stu a, Stu b) {return(a.M > b.M); } int cmpE(Stu a, Stu b) {return(a.E > b.E); } int cmpTotal(Stu a, Stu b) {return(a.A > b.A); }int main() {int n, m;cin >> n >> m;Stu stu[2000];int count = 0;string id;int C, M, E;for (int i = 0; i < n; i++) {cin >> id >> C >> M >> E;stu[count].id = id;stu[count].C = C;stu[count].M = M;stu[count].E = E;stu[count].A = C + M + E;count++;}string want[2000];for (int i = 0; i < m; i++) {cin >> want[i];}//排序優(yōu)先級 C->M->E->Totalstable_sort(stu, stu + count, cmpTotal);stu[0].AA = 1;for (int i = 0; i < count; i++) {//存A排名,注意一下并列情況下的排名技巧int curRank = 1;if (stu[i].A == stu[i - 1].A) {stu[i].AA = stu[i - 1].AA;}else {stu[i].AA = curRank = i + 1;}}stable_sort(stu, stu + count, cmpE);stu[0].EE = 1;for (int i = 0; i < count; i++) {//存E排名int curRank = 1;if (stu[i].E == stu[i - 1].E) {stu[i].EE = stu[i - 1].EE;}else {stu[i].EE = curRank = i + 1;}}stable_sort(stu, stu + count, cmpM);stu[0].MM = 1;for (int i = 0; i < count; i++) {//存M排名int curRank = 1;if (stu[i].M == stu[i - 1].M) {stu[i].MM = stu[i - 1].MM;}else {stu[i].MM = curRank = i + 1;}}stable_sort(stu, stu + count, cmpC);stu[0].CC = 1;for (int i = 0; i < count; i++) {//存C排名int curRank = 1;if (stu[i].C == stu[i - 1].C) {stu[i].CC = stu[i - 1].CC;}else {stu[i].CC = curRank = i + 1;}}//輸出科目優(yōu)先級:A C M Ebool find = false;for (int i = 0; i < m; i++) {find = false;for (int j = 0; j < n; j++) {if (stu[j].id == want[i]) {find = true;if (stu[j].AA <= stu[j].CC && stu[j].AA <= stu[j].MM && stu[j].AA <= stu[j].EE) {cout << stu[j].AA << " A\n";}else if (stu[j].CC <= stu[j].AA && stu[j].CC <= stu[j].MM && stu[j].CC <= stu[j].EE) {cout << stu[j].CC << " C\n";}else if (stu[j].MM <= stu[j].AA && stu[j].MM <= stu[j].CC && stu[j].MM <= stu[j].EE) {cout << stu[j].MM << " M\n";}else if (stu[j].EE <= stu[j].AA && stu[j].EE <= stu[j].CC && stu[j].EE <= stu[j].MM) {cout << stu[j].EE << " E\n";}break;}}if (!find) {cout << "N/A\n";}}system("pause"); }

總結

以上是生活随笔為你收集整理的【PAT甲级 排序】1012 The Best Rank (25 分) C++ 全部AC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 最近中文字幕在线中文高清版 | 欧美影院一区 | 国产97色在线 | 国产 | 男人天堂2014| 国产一二视频 | 欧美精品一区二区三区在线 | 国产黄色一区二区 | 国产一二三区在线 | 成熟丰满熟妇高潮xxxxx视频 | 日韩一区二区三区在线观看 | 玉米地疯狂的吸允她的奶视频 | 免费观看亚洲 | 色图在线观看 | 国产精品久久久久久久久久东京 | 欧美日韩99 | 日韩专区av | 可以免费看的黄色网址 | 1000部多毛熟女毛茸茸 | 成人免费在线播放 | 三上悠亚中文字幕在线播放 | 91激情网 | 欧美精品久久久久久久免费 | 日韩在线观看视频一区 | 欧美a v在线播放 | 农村妇女毛片精品久久久 | 国产一区二区三区视频播放 | 日韩高清欧美 | av专区在线| 日本精品久久久久中文字幕 | 国内精品免费 | 色优久久 | 未满十八岁勿进 | 一级国产视频 | 国产粉嫩白浆 | 亚洲性xxxx | 国产老头老太作爱视频 | aaa黄色 | 一级bbbbbbbbb毛片 | 亚洲第一页夜 | 国产成人免费看一级大黄 | 天天操国产| 黄色91免费版 | 农村搞破鞋视频大全 | 久久国产色av | 国产亚洲精品久久久久丝瓜 | 国产乡下妇女三片 | 亚洲天堂影视 | 成人三级黄色 | 伊人免费在线 | 美女视频黄a视频全免费观看 | 精品国产综合区久久久久久 | 胖女人做爰全过程 | 国产成人a∨ | 蜜桃av一区 | 毛茸茸日本熟妇高潮 | 青青视频免费 | 中文字幕日韩一区二区 | 中文字幕高清在线免费播放 | 欧美草比视频 | 东方av在线免费观看 | 欧美激情黑白配 | 久久久欧美| 亚洲AV成人无码一二三区在线 | 亚洲乱码国产乱码精品天美传媒 | 中文无码一区二区三区在线观看 | www色亚洲 | 日批av| 一级黄色录相 | 欧美一级网站 | 亚洲色图吧| 久久综合导航 | 91亚洲一区二区三区 | 韩国美女视频在线观看18 | 亚洲第一精品网站 | 一级性生活毛片 | 亚洲欧美国产精品久久久久久久 | 日韩国产一区 | 91av在线免费| 国产99久久久久 | 成人在线免费视频观看 | 色噜噜在线观看 | 久久久久女 | 一本色道久久综合狠狠躁的推荐 | 一级片欧美 | 国产精品正在播放 | 欧美激情亚洲激情 | 绯色av一区二区 | 在线看网站 | 欧美不卡在线 | 日本黄色小网站 | 中文字幕不卡在线 | 草草草在线视频 | 中文字幕在线视频一区二区三区 | 午夜激情福利电影 | 樱花视频在线观看 | 久久影 | 无码无套少妇毛多18pxxxx | 美女视频在线观看免费 | 狠狠a|