求助,两个点re,自家编译器也运行不了,但acwing正常运行
查看原帖
求助,两个点re,自家编译器也运行不了,但acwing正常运行
595980
yghygh123楼主2022/8/22 10:46

这是代码,第一个数据 8 6 0 4 答案1617

vscode输入后没输出答案直接结束了,为什么呢,求助

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int mod = 1e9 + 7;

int a[25][25]={0};
int n, m;
int p, q;
ll f[25][25];
int main()
{
    cin >> n >> m >> p >> q;
    if (0 <= p <= n && 0 <= q <= m)
        a[p][q] = 1;
    if (0 <= p - 1 <= n && 0 <= q - 2 <= m)
        a[p - 1][q - 2] = 1;
    if (0 <= p - 2 <= n && 0 <= q - 1 <= m)
        a[p - 2][q - 1] = 1;
    if (0 <= p - 2 <= n && 0 <= q + 1 <= m)
        a[p - 2][q + 1] = 1;
    if (0 <= p - 1 <= n && 0 <= q + 2 <= m)
        a[p - 1][q + 2] = 1;
    if (0 <= p + 1 <= n && 0 <= q - 2 <= m)
        a[p + 1][q - 2] = 1;
    if (0 <= p + 2 <= n && 0 <= q - 1 <= m)
        a[p + 2][q - 1] = 1;
    if (0 <= p + 2 <= n && 0 <= q + 1 <= m)
        a[p + 2][q + 1] = 1;
    if (0 <= p + 1 <= n && 0 <= q + 2 <= m)
        a[p + 1][q + 2] = 1;
    f[0][0] = 1;
    for (int i = 0; i <= n; i++)
    {
        for (int j = 0; j <= m; j++)
        {
            if (0 <= i - 1 <= n && a[i - 1][j] != 1)
                  f[i][j] += f[i - 1][j];
            if (0 <= j - 1 <= m && a[i][j - 1] != 1)
                f[i][j] += f[i][j - 1];
        }
    }
    cout << f[n][m] << endl;
    return 0;
}
2022/8/22 10:46
加载中...