#3#4wa了 找不到问题
查看原帖
#3#4wa了 找不到问题
1045714
Fecfu楼主2024/8/7 15:53
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,x,y;
int dp[30][30];
int mm[8][2]={{-2,-1},{-1,-2},{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1}};
int main(){
    cin>>n>>m>>x>>y;
    //标记马控制点 
    dp[x][y]=-1;
    for(int i=0;i<8;i++){  
    	if(x+mm[i][0]>=0&&y+mm[i][1]>=0) dp[x+mm[i][0]][y+mm[i][1]]=-1;
	} 
	
    dp[0][0]=1;
	for(int i=0;i<=n;i++){
		for(int j=0;j<=m;j++){
			if(i==0&&j==0) continue;
			if(dp[i][j]!=-1){
				if(dp[i][j-1]!=-1&&j-1>=0) dp[i][j]+=dp[i][j-1];
				if(dp[i-1][j]!=-1&&i-1>=0) dp[i][j]+=dp[i-1][j];
			}
		}
	}
	cout<<dp[n][m];
    return 0;
} 
2024/8/7 15:53
加载中...