王道機試 排序 奧運排序問題 浙江大學

2021-10-21 10:59:46 字數 1331 閱讀 3277

這絕對是我寫過邏輯最複雜的乙個題目,主要注意並列排序函式,另外由於獎牌人口比和金牌人口比,涉及到除法,而這乙個題目又嚴格要求排序,所以最後想的辦法是用浮點數來儲存。原本想將四個並列排序函式整合整乙個,但由於我用的是結構體儲存排序結構,而非陣列,並沒有想到很好的整合方式。雖然看上去**龐大,但是邏輯清晰!

#include #include #include using namespace std;

struct country ;

bool cmp_paixu_g(country a, country b)

bool cmp_paixu_m(country a, country b)

bool cmp_paixu_g_h(country a, country b)

bool cmp_paixu_m_h(country a, country b)

void bingliesort_0(vector&con, int n)

if (flag)

else }}

void bingliesort_1(vector&con, int n)

if (flag)

else }}

void bingliesort_2(vector&con, int n)

if (flag)

else }}

void bingliesort_3(vector&con, int n)

if (flag)

else }}

int main()

for (int i = 0; i < m; i++)

//開始排名

sort(con.begin(), con.end(), cmp_paixu_g);

bingliesort_0(con, n);

sort(con.begin(), con.end(), cmp_paixu_m);

bingliesort_1(con, n);

sort(con.begin(), con.end(), cmp_paixu_g_h);

bingliesort_2(con, n);

sort(con.begin(), con.end(), cmp_paixu_m_h);

bingliesort_3(con, n);

int k = 0;

int p = 0;

for (int i = 0; i < m; i++)

} }}

2010 浙大機試 奧運排序問題

題目1007 奧運排序問題 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 9450 解決 2044 題目描述 按要求,給國家進行排名。輸入 有多組資料。第一行給出國家數n,要求排名的國家數m,國家號從0到n 1。第二行開始的n行給定國家或地區的奧運金牌數,獎牌數,人口數 百萬 接下來一...

王道機試例題3 3 成績排序

題目描述 查詢和排序 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績都按先錄入排列在前的規則處理。示例 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 smit...

奧運排序問題

時間限制 1 sec 記憶體限制 32 mb 按要求,給國家進行排名。有多組資料。第一行給出國家數n,要求排名的國家數m,國家號從0到n 1。第二行開始的n行給定國家或地區的奧運金牌數,獎牌數,人口數 百萬 接下來一行給出m個國家號。排序有4種方式 金牌總數 獎牌總數 金牌人口比例 獎牌人口比例 對...