球球各位佬救救孩子吧
查看原帖
球球各位佬救救孩子吧
1293644
2320508123hzc楼主2024/10/28 20:42

过样例但全wa

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
struct student {
    int cj;
    double c;
    char dw;
}stu[1010];
bool cmp(student a, student b) {
    return a.c > b.c;
}
int main() {
    int n, m;
    double cj[30][30];
    double sum1[30], sum2[30];
    cin >> n >> m;
    for (int i = 0; i < n; i++) {
        cin >> stu[i].cj >> stu[i].dw;
    }
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < m; j++) {
            cin >> cj[i][j];
        }
    }
    for (int i = 0; i < m; i++) {
        sum1[i] = 0;
        for (int j = 0; j < m; j++) {
            sum1[i] += cj[j][i];
        }
        sum1[i] /= (m * 1.0);
    }
    for (int i = 0; i < m; i++) {
        int o=0;
        sum2[i] = 0;
        for (int j = 0; j < m; j++) {
            int k = cj[j][i] - sum1[i];
            if (k >= -15 && k <= 15) {
                sum2[i] += cj[j][i];
                o += 1;
            }
        }
        sum2[i] /= (o*1.0);
    }
    for (int i = 0; i < n; i++) {
        stu[i].c = stu[i].cj * 0.6 + sum2[stu[i].dw - 'A'] * 0.4;
        if (stu[i].c >= int(stu[i].c) + 0.5)stu[i].cj = int(stu[i].c) + 1;
        else stu[i].cj = int(stu[i].c);

    }
    sort(stu, stu + n, cmp);
    for (int i = 0; i < n; i++) {
        cout << stu[i].cj << ' ' << stu[i].dw << '\n';
    }
    return 0;
}
2024/10/28 20:42
加载中...