'commit'
This commit is contained in:
38
TangDou/CSP-J/MKX_B/LianXiTi_WithShuZu.cpp
Normal file
38
TangDou/CSP-J/MKX_B/LianXiTi_WithShuZu.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user