大二演算法期末複習 排序 體重排序

2021-09-02 21:54:55 字數 1444 閱讀 3191

time limit: 1000/1000ms (c++/others) memory limit: 65536/65536kb (c++/others)

statistic

problem description

作為一台很受歡迎的脫口秀節目的主持人,你正在做一期關於節食的節目。你的嘉賓是kevorkian博士。他最近推出了一項**計畫「do you want to diet?」,這項計畫向它的使用者保證每天**1磅。

節目錄製那天,你準備讓一些使用kevorkian博士**計畫的節食者上台秀一下。你準備按他們的體重的遞減順序來安排他們出場的先後順序。問題是他們報名時只提供了以下資訊:姓名,節食的天數,節食前的體重。你要根據他們節食的天數來計算他們現在的體重。所有的節食者每天**1磅。

input

輸入檔案包含至多100個測試資料。測試資料之間沒有空行。每個測試資料報含3部分:

第1行為start;

接下來為節食者列表:包含1~10行,每行描述一名節食者,包括姓名、節食的天數和節食前的體重。其中姓名為1~20個數字、字母字元組成的字串;節食的天數不超過1000天;節食前的體重不超過10,000。

最後一行為end。

output

對每個測試資料,根據各節食者現在體重的遞減順序列出節食者的名字,每個節食者的名字佔一行。每2個測試資料的輸出之間有乙個空行。

sample input

start

joe 10 110

endstart

james 100 150

laura 100 140

hershey 100 130

endstart

hershey0 1 5

hershey2 1 3

hershey1 1 4

hershey3 1 2

end

sample output

joe

james

laura

hershey

hershey0

hershey1

hershey2

hershey3

人名不要用string了,因為長度不一樣,所以記憶體不一樣,若使用string,在排序時會出現人名部分丟失和排序錯誤的現象

#includeusing namespace std;

struct dietpp

};int cmp(const void *a,const void *b)

dietpp guest[15];

int main()

qsort(guest,pos,sizeof(guest[0]),cmp);

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

cout

} return 0;

}

大二演算法期末複習 排序 英文姓名排序

time limit 1000 1000ms c others memory limit 65536 65536kb c others problem description 在漢語裡,對漢語姓名可以按拼音排序,也可以按筆畫順序排序。在英語裡,對英語姓名主要按字母順序排序。本題要求給定的一組英文姓名...

演算法期末複習(二)

回溯法是一種試探的方法,從一條路走,能進則進,不能則退。例如 在數字1 2 3 9 順序不變 之間插入 或什麼都不插入,使得結果為100。include using namespace std define n 8 8個符號 int a int num 0 計算滿足條件的式子的個數 char op ...

排序演算法複習

參考自 直接插入排序 從小到大排列 n個資料,第乙個資料平凡有序 假設前i 1個資料串有序,根據第i個的大小將第i個插入到此串中,則前i個的資料串也有序。因此可得到n個資料有序。插入方法 待插入元素為第i元素,數值存為temp,將 i 之前的元素 j 從第 i 1 元素開始與之比較 如果比temp大...