文章

3

粉丝

116

获赞

88

访问

5.4k

头像
奥运排序问题 题解:
P1310 浙江大学机试题
发布于2024年6月9日 11:39
阅读数 2.3k

思路:有多少个比自己大的(如m),自己排序第m+1。

#include <bits/stdc++.h>
using namespace std;

struct country {
    int gold, award, people;
    double gm, am;
};

int main() {
    int N, M;
    int i, j, k;
    while (cin >> N >> M) {
        country* countrys = new country[N];
        for (i = 0; i < N; ++i) {
            cin >> countrys[i].gold >> countrys[i].award >> countrys[i].people;
            countrys[i].gm = (double)countrys[i].gold / countrys[i].people;
            countrys[i].am = (double)countrys[i].award / countrys[i].people;
        }

        for (k = 0; k < M; ++k) {
            cin >> k;
            int rank[4] = {1, 1, 1, 1};
            for (i = 0; i < N; ++i) {
                if (countrys[k].gold < countrys[i].gold) rank[0]++;
                if (countrys[k].award < countrys[i].award) rank[1]++;
                if (countrys[k].gm < countrys[i].gm) rank[2]++;
                if (countrys[k].a...
登录查看完整内容


登录后发布评论

5 条评论
大李
2026年3月5日 02:00

你代码能过???

赞(0)

liux662 : 回复 大李: 之前确实可以过,数据好像换了过不了了,我重新看也发现过不了了

2026年3月9日 12:56
回复给:
1223895801
2026年2月16日 14:06

代码有bug吧?

5 3
10 20 1
8 16 2
6 12 3
4 8 4
2 4 5
0 3 4

1:1
4:1

如果是上面这个数据,就只会输出两个结果

赞(0)

2898186840 : 回复 1223895801: 循环写错了吧

2026年3月8日 22:42
回复给:
kawhileo
2026年2月6日 21:12

太牛了哥

 

赞(0)
回复给: