re求调!
查看原帖
re求调!
1127424
damuzhi楼主2024/3/25 19:39
#include <bits/stdc++.h>

using namespace std;

int q[100010][100010];
int go[8][2] = {{1,2},{2,1},{-1,2},{2,-1},{1,-2},{-2,1},{-1,-2},{-2,-1}};

int main()
{
    int n,m,x,y;
    cin >> n >> m >> x >> y;
    n++;
    m++;
    x++;
    y++;
    q[x][y] = -1;
    for(int i = 0; i < 8; i++)
    {
        if((x + go[i][0] > 0 && x + go[i][0] < n) && (y + go[i][1] > 0 && y + go[i][1] < m))
            q[x + go[i][0]][y + go[i][1]] = -1;
    }
    for(int i = 1; i <= n; i++)
    {
        if(q[i][1] != -1)
            q[i][1] = 1;
    }
    for(int i = 1; i <= m; i++)
    {
        if(q[1][i] != -1)
            q[1][i] = 1;
    }
    for(int i = 2; i <= n; i++)
    {
        for(int j = 2; j <= m; j++)
        {
            if(q[i][j] != -1)
            {
                if(q[i-1][j] > 0)
                    q[i][j] += q[i - 1][j];
                if(q[i][j-1] > 0)
                    q[i][j] += q[i][j - 1];
            }
        }
    }
    cout << q[n][m] << endl;
    return 0;
}
2024/3/25 19:39
加载中...