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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

九度OJ 1339:ACM (排序)

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九度OJ 1339:ACM (排序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

時間限制:1 秒

內存限制:32 兆

特殊判題:否

提交:712

解決:379

題目描述:

今年的ACM世界總決賽快要開始了,需要有一個排名算法來對每支隊伍進行現場排名。ACM組委會把這個任務交給了你,相信你一定能很好地完成。
?排名規則如下:通過題的數目多的隊伍排名靠前,如果有多支隊伍過的題的數目相同,則罰時少的隊伍排名靠前。

輸入:

輸入的第一行包括一個整數N(1<=N<=100),代表參加比賽的隊伍的個數。
?接下來的N行每行包括一個字符串和兩個整數num,punish,它們之間用空格隔開。其中,第一個字符串代表參賽的隊伍名稱(字符串的長度1<=len<=101),num代表這個學校過了的題目個數(1<=num<=11),punish代表這個學校的罰時(1<=punish<=1000)。

輸出:

請按題目描述的規則對所有隊伍進行排序,并按照從高到低的順序對隊伍的名稱進行輸出。當然可能存在多支隊伍,不僅通過題目數量相同,而且罰時相同。雖然這些隊伍最后排名是相同的,但是你輸出時需要按照隊伍名稱的字典序進行輸出,比如,隊伍aa和隊伍ba,你需要先輸出aa,然后輸出ba,因為aa的字典序比ba的靠前。

樣例輸入:
4
RealPlayers 3 100
Potatoes 5 30
blue_sky 7 800
3D_magic_cube 5 50
樣例輸出:
blue_sky
Potatoes
3D_magic_cube
RealPlayers

思路:

排序題用qsort或者sort都比較簡單,主要是注意細節。


代碼:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>#define N 100typedef struct node {char name[105];int num;int punish;
} TEAM;int cmp(const void *a, const void *b)
{TEAM *c = (TEAM *)a;TEAM *d = (TEAM *)b;if (c->num != d->num)return d->num - c->num;if (c->punish != d->punish)return c->punish - d->punish;return strcmp(c->name, d->name);
}int main(void)
{int n, i;TEAM t[N];while (scanf("%d", &n) != EOF){for(i=0; i<n; i++)scanf("%s%d%d", t[i].name, &t[i].num, &t[i].punish);qsort(t, n, sizeof(t[0]), cmp);for(i=0; i<n; i++)printf("%s\n", t[i].name);}return 0;
}
/**************************************************************Problem: 1339User: liangrx06Language: CResult: AcceptedTime:0 msMemory:912 kb
****************************************************************/


轉載于:https://www.cnblogs.com/liangrx06/p/5083794.html

總結

以上是生活随笔為你收集整理的九度OJ 1339:ACM (排序)的全部內容,希望文章能夠幫你解決所遇到的問題。

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