专栏文章

题目代码

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minfw2gk
此快照首次捕获于
2025/12/02 01:45
3 个月前
此快照最后确认于
2025/12/02 01:45
3 个月前
查看原文

T1

CPP
#include <bits/stdc++.h>

using namespace std;

int T, n;

int main() {
    #ifndef ONLINE_JUDGE
        freopen("input.in", "r", stdin);
        freopen("output.out", "w", stdout);
    #endif
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >> T;

    while (T--) {
        cin >> n;
        long long res = 1;
        int a;
        for (int i = 0; i < n; i++) {
            cin >> a;
            res *= a;
            if (res > 1e9) {
                res = 1e9;
            }
        }
        cout << res << '\n';
    }
    return 0;
}

T2

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

const int MAXN = 1e6 + 5;
bool lucky[MAXN];
int diff[MAXN];

bool isp(int x) {
    if (x < 2) return false;
    for (int i = 2; i * i <= x; i++) {
        if (x % i == 0) return false;
    }
    return true;
}

int reve(int x) {
    int rev = 0;
    while (x > 0) {
        rev = rev * 10 + x % 10;
        x /= 10;
    }
    return rev;
}

int main() {
    #ifndef ONLINE_JUDGE
        freopen("input.in", "r", stdin);
        freopen("output.out", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n, m;
    cin >> n >> m;

    for (int i = 2; i < MAXN; i++) {
        if (isp(i)) {
            int rev = reve(i);
            if (isp(rev)) {
                lucky[i] = true;
            }
        }
    }

    while (m--) {
        int l, r, k;
        cin >> l >> r >> k;
        diff[l] += k;
        if (r + 1 <= n) diff[r + 1] -= k;
    }

    int ans = 0;
    int cur = 0;
    for (int i = 1; i <= n; i++) {
        cur += diff[i];
        if (cur < MAXN && lucky[cur]) {
            ans++;
        }
    }

    cout << ans << "\n";
    return 0;
}

T3

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

struct nd {
    int p;
    int c;
};

bool cmp(nd a, nd b) {
    return a.c > b.c;
}

int main() {
    #ifndef ONLINE_JUDGE
        freopen("input.in", "r", stdin);
        freopen("output.out", "w", stdout);
    #endif
    ios::sync_with_stdio(false);
    cin.tie(0);

    int m, n, k, l, d;
    cin >> m >> n >> k >> l >> d;

    vector<int> h(m + 1, 0);
    vector<int> v(n + 1, 0);

    while (d--) {
        int x1, y1, x2, y2;
        cin >> x1 >> y1 >> x2 >> y2;

        if (x1 != x2) {
            int p = min(x1, x2);
            h[p]++;
        }
        else {
            int p = min(y1, y2);
            v[p]++;
        }
    }

    vector<nd> hc;
    for (int i = 1; i < m; i++) {
        if (h[i] > 0) {
            hc.push_back({i, h[i]});
        }
    }

    vector<nd> vc;
    for (int i = 1; i < n; i++) {
        if (v[i] > 0) {
            vc.push_back({i, v[i]});
        }
    }

    sort(hc.begin(), hc.end(), cmp);
    sort(vc.begin(), vc.end(), cmp);

    vector<int> hr;
    for (int i = 0; i < min(k, (int)hc.size()); i++) {
        hr.push_back(hc[i].p);
    }
    sort(hr.begin(), hr.end());

    vector<int> vr;
    for (int i = 0; i < min(l, (int)vc.size()); i++) {
        vr.push_back(vc[i].p);
    }
    sort(vr.begin(), vr.end());

    for (int i = 0; i < hr.size(); i++) {
        if (i) cout << " ";
        cout << hr[i];
    }
    cout << "\n";

    for (int i = 0; i < vr.size(); i++) {
        if (i) cout << " ";
        cout << vr[i];
    }
    cout << "\n";

    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...