Mô tả bài toán
Cho mảng A rating của n học sinh. Xếp hạng: rating cao hơn → thứ hạng tốt hơn (số nhỏ hơn). Rating bằng nhau → cùng thứ hạng. Tìm thứ hạng từng học sinh.
Ví dụ
A=[3,5,3,4,5] → Output: [4,1,4,3,1]. (Rating 5: hạng 1; rating 4: hạng 3; rating 3: hạng 4).
Thuật toán
Với mỗi i, đếm số học sinh có rating > A[i], thứ hạng = count + 1.
Code C++
#include <bits/stdc++.h>
using namespace std;
void solve(vector A) {
int n = A.size();
for (int i = 0; i < n; i++) {
int rank = 1;
for (int j = 0; j < n; j++)
if (A[j] > A[i]) rank++;
cout << rank << (i+1 A = {3,5,3,4,5};
solve(A);
return 0;
}
Đầu vào / Đầu ra
Input: {3,5,3,4,5}
Output: 4, 1, 4, 3, 1,