关于标数法输出全WA
查看原帖
关于标数法输出全WA
775551
caojiaming楼主2022/11/29 15:39

测试样例证明结果大很多

#include <bits/stdc++.h>
using namespace std;
long long a[31][31];
bool m[31][31];
int bx,by,mx,my;
bool is_ruled(int x,int y)
{
    if(m[x+2][y+1]||m[x+1][y+2]||m[x-1][y-2]||m[x-2][y-1]||m[x+1][y-2]||m[x+2][y-2]||m[x-1][y-2]||m[x-2][y-1])
    {
        return true;
    }
    return false;
}
int main()
{
    cin>>bx>>by>>mx>>my;
    bx+=5;
    by+=5;
    mx+=5;
    my+=5;
    m[mx][my]=true;
    for(int i=5;i<=bx;i++)
    {
        if(is_ruled(i,5))
        {
            continue;
        }
        a[i][5]=1;
    }
    for(int i=5;i<=by;i++)
    {
        if(is_ruled(5,i))
        {
            continue;
        }
        a[5][i]=1;
    }
    for(int i=6;i<=bx;i++)
    {
        for(int j=6;j<=by;j++)
        {
            if(is_ruled(i,j))
            {
                continue;
            }
            a[i][j]=a[i-1][j]+a[i][j-1];
        }
    }
    cout<<a[bx][by];
    return 0;
}
2022/11/29 15:39
加载中...