題目1007:奧運排序問題
時間限制:1 秒
記憶體限制:32 兆
特殊判題:否
提交:3180
解決:669
題目描述:按要求,給國家進行排名。
輸入:有多組資料。
第一行給出國家數n,要求排名的國家數m,國家號從0到n-1。
第二行開始的n行給定國家或地區的奧運金牌數,獎牌數,人口數(百萬)。
接下來一行給出m個國家號。
輸出:排序有4種方式: 金牌總數 獎牌總數 金牌人口比例 獎牌人口比例
對每個國家給出最佳排名排名方式 和 最終排名
格式為: 排名:排名方式
如果有相同的最終排名,則輸出排名方式最小的那種排名,對於排名方式,金牌總數 < 獎牌總數 < 金牌人口比例 < 獎牌人口比例
如果有並列排名的情況,即如果出現金牌總數為 100,90,90,80.則排名為1,2,2,4.
每組資料後加乙個空行。
樣例輸入:
4 44 8 1
6 6 2
4 8 2
2 12 4
0 1 2 3
4 28 10 1
8 11 2
8 12 3
8 13 4
0 3
樣例輸出:
1:31:12:1
1:21:1
1:1
2023年浙江大學計算機及軟體工程研究生機試真題
/*********************************
* 日期:2013-3-3
* 題號: 九度oj 題目1007:奧運排序問題
* 結果:ac
* 總結:
**********************************/
#include#include#include//結構體
typedef struct countrycountry;
country country[1000];
int main ()
//給出要排序的m個國家號。
for(i = 0;i < m;i++)
for(i = 0;i < m;i++)
}countrysort[i].bestrank = countrysort[i].rank;
//printf("j:%d\n",countrysort[i].bestrank);
countrysort[i].skind = 1;
//獎牌數排序
countrysort[i].rank = 1;
for(j = 0;j < n;j++)
}if(countrysort[i].rank < countrysort[i].bestrank)
//printf("j2:%d\n",countrysort[i].rank);
//金牌人口比例排序
countrysort[i].rank = 1;
for(j = 0;j < n;j++)
}if(countrysort[i].rank < countrysort[i].bestrank)
//printf("j3:%d\n",countrysort[i].rank);
//獎牌人口比例排序
countrysort[i].rank = 1;
for(j = 0;j < n;j++)
}if(countrysort[i].rank < countrysort[i].bestrank)
//printf("j4:%d\n",countrysort[i].rank);
//輸出
printf("%d:%d\n",countrysort[i].bestrank,countrysort[i].skind);
} //每組資料後加乙個空行。
printf("\n");
}//while
return 0;
}
題目1007 奧運排序問題
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 9031 解決 1952 題目描述 按要求,給國家進行排名。輸入 有多組資料。第一行給出國家數n,要求排名的國家數m,國家號從0到n 1。第二行開始的n行給定國家或地區的奧運金牌數,獎牌數,人口數 百萬 接下來一行給出m個國家號。輸出 排序...
題目1007 奧運排序問題
題目1007 奧運排序問題 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 3180 解決 669 題目描述 按要求,給國家進行排名。輸入 有多組資料。第一行給出國家數n,要求排名的國家數m,國家號從0到n 1。第二行開始的n行給定國家或地區的奧運金牌數,獎牌數,人口數 百萬 接下來一行...
題目1007 奧運排序問題(結構體排序)
每個國家根據金牌總數 獎牌總數 金牌人口比例 獎牌人口比例會有四種排序,找到最佳排名。我們用結構體把每個國家的資訊存下來,在進行處理。根據四種不同的排序方式計算得出四種排名。注意 記得最後再把國家按照最大是的順序排回來 事先用id屬性記下序號 有關於sort函式使用詳解請參考 created by ...