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
sample outputstart
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
人名不要用string了,因為長度不一樣,所以記憶體不一樣,若使用string,在排序時會出現人名部分丟失和排序錯誤的現象joe
james
laura
hershey
hershey0
hershey1
hershey2
hershey3
#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大...