全RE求助
查看原帖
全RE求助
675208
coder2009楼主2024/8/13 14:32

rt,本地是跑的过去的,把数组开到3000然后代码跑到2000也试了,但就是永远都在RE

#include <bits/stdc++.h>

using namespace std;
const int maxn = 2005;
int a[maxn][maxn], pre[maxn][maxn];

void solve() {
    int t, k;
    cin >> t >> k;
    a[0][1] = 1;
    a[1][1] = 1;
    a[1][2] = 1;
    for (int i = 2; i < maxn; ++i) {
        for (int j = 1; j <= i + 1; ++j) {
            a[i][j] = (a[i - 1][j] + a[i - 1][j - 1]) % k;
        }
    }
    for (int i = 0; i < maxn; ++i)
        for (int j = 1; j <= i + 1; ++j) {
            if (i == j - 1) {
                pre[i - 1][j] = pre[i - 1][j - 1];
            }
            if (a[i][j] == 0) {
                pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1] + 1;
            } else {
                pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1];
            }
        }
    for (int i = 1; i <= t; ++i) {
        int x, y;
        cin >> x >> y;
        cout << pre[x][min(x + 1, y + 1)] << '\n';
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    solve();

    return 0;
}

2024/8/13 14:32
加载中...