時間限制:c/c++ 2秒,其他語言4秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
第一次期中考終於結束啦!沃老師是個語文老師,他在評學生的作文成績時,給每位學生的分數都是乙個小於10的非負小數。
amy 8.999999999999999999999999999999999999999990000沃老師並不會告訴大家分數的排名,但學生間競爭激烈,大家都想知道自己的作文成績在班上的排名。bob 8.9999999999999999999999999999999999999999800
cat 8.9999999999999999999999999999999999999999899999999
但由於作文分數的小數部分可能超級長,難以用肉眼比較兩個數的大小關係,請你幫忙寫個程式,把所有學生按照作文分數排序吧〜
輸入共有n + 1行。第一行有乙個正整數n,代表班上有幾個人。
接下來n行中的第i行,包含乙個字串namei,以及乙個小數scorei,分別代表第i個人的名字以及第i個人的作文得分。
輸出總共n行,每行由乙個名字和乙個小數構成,第i行代表著分數第i高的人的名字以及他的作文得分,代表作文得分的小數必須和輸入一模一樣,也就是原本末尾有多少零,輸出也要有相同數量的零。若分數相同,則名字字典序比較小的放在前面。
需要特別考慮的就是:同名又同分時,此時輸出保持原來的循序,這就體現出了用stable_sort(num,num+n,cmp)的好處,用sort(num,num+n,cmp)總是通不過,這就是水平有限。帶有stable的函式可保證想等元素的原本相對次序在排序後保持不變。或許你會問,既然想等,你還管他相對位置吶,也分不清楚誰是誰了?這裡需要能清楚乙個問題,這裡的相等是指你提供的函式表示兩個元素相等,並不一定是一摸一樣的函式。
#include #include#include#includeusing namespace std;
struct nodenum[200005];
bool cmp(node a,node b)
}int main()
else
}num[i].rscore=num[i].score.substr(0,r+1);
}stable_sort(num,num+n,cmp);
for(int i=0;i
牛客練習賽15 沃老師學生的成績
這道題我當時沒看見分數是小於等於10的乙個數,然後就想複雜了。其實很簡單,輸入完成績後只用判斷後面有沒有多餘的零,所以我們在結構體裡定義三個string,乙個是名字,乙個是輸入的分數,還有乙個是沒有後面多餘的零的分數,然後求出最後多餘的零,得到沒有多餘的零的分數的字串後乙個sort就好了。ac in...
基本SQL資料表 學生 老師 課程 成績
create table student 建立student資料表 s no char 10 not null,學號 s name nchar 10 姓名 s char 2 性別 borndate smalldatetime,出生日期 classname nvarchar 50 班級名稱 telep...
老師喜歡的學生
估計以後我家小朋友注定有兩件事情會變不了了 1.我會擔心的沒完沒了。因為他性格溫和,不會和人動手。和他爸爸類似,就沒和人打過架。當然,並不能說他軟弱,人家只是不直接來硬的,喜歡動腦子,不同意的事情,沉默或者不配合,即使是拒絕,也不會說的很難聽,反正就是讓你聽著吧,被拒絕了,但是又沒辦法反擊,無傷大雅...