XDOJ 170 複試篩選

2021-10-12 10:20:55 字數 1144 閱讀 9997

考研初試成績公布後需要對m個學生的成績進行排序,篩選出可以進入複試的前n名學生。

排序規則為首先按照總分排序,總分相同則按英語單科成績排序,總分和英語成績也相同時考號小者排在前面。

現給出這m個學生的考研初試成績,請篩選出可以進入複試的n名學生並按照排名從高到低的順序依次輸出。

輸入為m+1行,第一行為兩個整數m和n,分別表示總人數和可以進入複試人數,m和n之間用空格分隔,0按排名從高到低的順序輸出進入複試的這n名學生的資訊。

5 3

xd20160001 330 65

xd20160002 330 70

xd20160003 340 60

xd20160004 310 80

xd20160005 360 75

xd20160005 360 75

xd20160003 340 60

xd20160002 330 70

#include

#include

#include

typedef

struct

student;

void

swap

(student *a, student *b)

;//將排序中的部分**寫成函式

//簡化主程式篇幅

intmain

(void

)for

(i =

0; i < m; i++

)else

if(stu[j]

.s == stu[j+1]

.s)else

if(stu[j]

.e == stu[j+1]

.e)}}}

if(flag)

break

;//如果已經排序完成則退出迴圈

}for

(i =

0; i < n; i++

)return0;

}void

swap

(student *a, student *b)

XDOJ括號匹配

類別 字串處理 時間限制 2s記憶體限制 1000kb 問題描述 表示式中的合法括號為 這三種括號可以按照任意的次序巢狀使用。請寫乙個程式,判斷給定表示式中的括號是否匹配,既左右括號順序和數量都匹配。輸入說明 輸入為乙個表示式字串,長度不超過50。輸出說明 對輸入的表示式,若其中的括號是匹配的,則輸...

XDOJ快速排序

問題描述 採用快速排序演算法,排序輸入的n個整數,prvotkey 樞軸 每次選取陣列第乙個數。輸出快速排序第一趟排序的結果。輸入格式 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數,空格隔開。輸出格式 按照要求排序後輸出,由空格分隔。樣例輸入 50 10 90 30 70 4...

XDOJ 分配寶藏

問題描述 兩個尋寶者找到乙個寶藏,裡面包含n件物品,每件物品的價值分別是w 0 w 1 w n 1 suma代表尋寶者a所獲物品價值總和,sumb代表尋寶者b所獲物品價值總和,請問怎麼分配才能使得兩人所獲物品價值總和差距最小,即兩人所獲物品價值總和之差的絕對值 suma sumb 最小。輸入說明 輸...