Files
python/TangDou/CSP-J/MKX_B/LianXiTi_WithShuZu.cpp

38 lines
957 B
C++
Raw Normal View History

2025-08-30 18:35:01 +08:00
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n = 4;
string c[N] = {"", "AA", "BB", "CC", "DD"};//名称
int a[N] = {0, 1, 2, 3, 4};//序号
int b[N] = {0, 100, 90, 90, 100};//数值
bool cmp(int x,int y){
if(b[x]==b[y]) return a[x]<a[y];
return b[x] > b[y];
}
int main() {
//排序
sort(a + 1, a + 1+n,cmp); // 1 4 2 3
for (int i = 1; i <= n; i++) cout << c[a[i]] << " ";
cout<<endl;
for (int i = 1; i <= n; i++) cout << a[i] << " ";
cout<<endl;
int mc = 1; //当前是第几名
int sl = 0; //当前名次数量
for (int i = 1;i<=n;i++){
// 如果与前一位一样,那么当前名次数量+1;否则是1
if(b[a[i]]==b[a[i-1]]){
sl++;
} else {
mc+=sl;
sl = 1;
}
//输出当前名次
cout << mc << " ";
}
return 0;
}