P1002 [NOIP 2002 普及组] 过河卒

点击查看代码
#include<bits/stdc++.h>
using namespace std;

const int N=30;
bool st[N][N];
long long f[N][N];
int n,m;
int hx,hy;
int dx[9]={0,-2,-1,1,2,2,1,-1,-2};
int dy[9]={0,1,2,2,1,-1,-2,-2,-1};

int main()
{
    ios::sync_with_stdio(0),cin.tie(0);

    cin>>n>>m>>hx>>hy;

    n+=2,m+=2,hx+=2,hy+=2;
    
    

    for(int i=0;i<9;i++){
        st[hx+dx[i]][hy+dy[i]]=true;
    }

    f[2][1]=1;
    for(int i=2;i<=n;i++){
        for(int j=2;j<=m;j++){
            if(st[i][j]) continue;
            f[i][j]=f[i][j-1]+f[i-1][j];
        }
    }

    cout<<f[n][m]<<"\n";

    return 0;
}
posted @ 2026-03-10 10:10  AnoSky  阅读(3)  评论(0)    收藏  举报