'commit'
This commit is contained in:
39
TangDou/CSP-J/MKX_B/LianXiTi_WithNode.cpp
Normal file
39
TangDou/CSP-J/MKX_B/LianXiTi_WithNode.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
const int N = 110;
|
||||
int n = 4;
|
||||
struct Node{
|
||||
string name;
|
||||
int id;
|
||||
int score;
|
||||
}a[N];
|
||||
bool cmp(Node x,Node y){
|
||||
if(x.score==y.score) return x.id<y.id;
|
||||
return x.score>y.score;
|
||||
}
|
||||
int main() {
|
||||
a[1] = {"AA", 1, 100};
|
||||
a[2] = {"BB", 2, 90};
|
||||
a[3] = {"CC", 3, 90};
|
||||
a[4] = {"DD", 4, 100};
|
||||
//排序
|
||||
sort(a + 1, a + 1+n,cmp);
|
||||
for (int i = 1; i <= n; i++) cout << a[i].name << " ";
|
||||
cout<<endl;
|
||||
|
||||
|
||||
int mc = 1; //当前是第几名
|
||||
int sl = 0; //当前名次数量
|
||||
for (int i = 1;i<=n;i++){
|
||||
// 如果与前一位一样,那么当前名次数量+1;否则是1
|
||||
if(a[i].score==a[i-1].score){
|
||||
sl++;
|
||||
} else {
|
||||
mc+=sl;
|
||||
sl = 1;
|
||||
}
|
||||
//输出当前名次
|
||||
cout << mc << " ";
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user