1 条题解

  • 1
    @ 2026-4-4 18:27:59

    瞧瞧我的新屎山 模拟即可,注意偶数与奇数列数输出。

    #include <bits/stdc++.h>
    using namespace std;
    int n, m;
    struct student {
        int score, id;
        int c, r;
    } a[110];
    void solve();
    bool cmp(student a, student b);
    int main(void) {
        freopen("seat.in", "r", stdin);
        freopen("seat.out", "w", stdout);
        cin >> n >> m;
        for (int i = 1;i <= n * m;++i) {
            cin >> a[i].score; 
            a[i].id = i;
        }
        sort(a + 1, a + n * m + 1, cmp);
        solve();
        return 0;
    }
    bool cmp(student a, student b) {
        return a.score > b.score;
    }
    void solve() {
        int cnta = 1, cntb = 1;
        bool flag = true;
        for (int i = 1;i <= n * m;++i) {
            if (flag) {
                a[i].c = cnta, a[i].r = cntb;
                if (cntb == n) {
                    cnta++, flag = false;
                    continue;
                }
                cntb++;
            } else {
                a[i].c = cnta, a[i].r = cntb;
                if (cntb == 1) {
                    cnta++, flag = true;
                    continue;
                }
                cntb--;
            }
        }
        for (int i = 1;i <= n * m;++i) {
            if (a[i].id == 1) {
                cout << a[i].c << ' ' << a[i].r << '\n';
                break;
            }
        }
    }
    

    AC记录

    • 1

    信息

    ID
    312
    时间
    1000ms
    内存
    512MiB
    难度
    4
    标签
    递交数
    14
    已通过
    5
    上传者