给出 n 个学生的名字及考试成绩,按照给出的顺序,输出他们的成绩排名,如果两人成绩相同,则排名相同。学生名字可能会重复。
Input
第1行:一个数 n,表示学生的数量(2 <= n <= 10000)。 第2-n+1行:现实人名name,后是成绩s(1 <= s <= 10000)。
Output
输出共n行,每行先是名字,后是成绩排名。人名的顺序与给出的顺序相同。
Sample
Input | Output |
---|---|
4 ab 100 bc 90 cc 90 dd 100 |
ab 1 bc 3 cc 3 dd 1 |
Time limit |
1000 ms |
Memory | 131072 kB |
话不多说,上代码:
#include<bits/stdc++.h>
using namespace std;
bool cmp(int i,int j) {
return i>j;//排序方式,从大到小
}
int main() {
int n;
cin>>n;
string name[n+1];
int mark[n+1],MARK[n+1];
for(int i=1; i<=n; i++) {
cin>>name[i]>>mark[i];