ans

WURUILANG 2022-04-26 12:33:48 20 返回题目

#include<bits/stdc++.h>
using namespace std;
long long a[30][30];
int T[30][30],u[][2]={{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2},{1,-2},{2,-1}};
int main(){
    int n,m,x,y,nx,ny,i,j;
    memset(T,0,sizeof(T));
    cin>>n>>m>>x>>y;
    a[0][0]=0;
    T[x][y]=1; 
    a[x][y]=0;
    for(i=0;i<8;i++){
        nx=x+u[i][0];
        ny=y+u[i][1];
        if(0<=nx&&nx<=n&&0<=ny&&ny<=m){
            T[nx][ny]=1;
            a[nx][ny]=0;
        }
    }
    for(i=0;i<=n;i++){
        if(T[i][0]==1)
            while(i<=n) i++,a[i][0]=0;
        else 
            a[i][0]=1;
    }
    for(j=0;j<=m;j++){
        if(T[0][j]==1)
            while(j<=m) j++,a[0][j]=0;
        else 
            a[0][j]=1;
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(T[i][j]==0)
                a[i][j]=a[i][j-1]+a[i-1][j];
    cout<<a[n][m];
    return 0;
}
{{ vote && vote.total.up }}