40分,3WA,大佬们能看看问题在哪吗?
查看原帖
40分,3WA,大佬们能看看问题在哪吗?
791527
MapleFall楼主2023/5/1 15:17
#include <iostream>
using namespace std;

int main()
{
    long long way[21][21];
    way[0][0] = -1;
    short n, m, x, y;
    cin>>n>>m>>x>>y;
    if(x > 0)
    {
        if(y > 1)
            way[x-1][y-2] = -1;
        if(y < 19)
            way[x-1][y+2] = -1;
    }
    if(x > 1)
    {
        if(y > 0)
            way[x-2][y-1] = -1;
        if(y < 20)
            way[x-2][y+1] = -1;
    }
    if(x < 20)
    {
        if(y > 1)
            way[x+1][y-2] = -1;
        if(y < 19)
            way[x+1][y+2] = -1;
    }
    if(x < 19)
    {
        if(y > 0)
            way[x+2][y-1] = -1;
        if(y < 20)
            way[x+2][y+1] = -1;
    }
    for(short i=0;i<21;i++)
    {
        way[0][i] = 1;
        way[i][0] = 1;
    }
    way[x][y] = -1;
    for(short i=1;i<21;i++)
    {
        for(short j=1;j<21;j++)
        {
            if(way[i][j] == -1)
                continue;
            long long k1 = way[i-1][j];
            long long k2 = way[i][j-1];
            if(k1 == -1)
                k1 = 0;
            if(k2 == -1)
                k2 = 0;
            way[i][j] = k1 + k2;
        }
    }
    cout<<way[n][m];
}

2023/5/1 15:17
加载中...