20pts求条
查看原帖
20pts求条
1152799
wsy_I楼主2024/11/24 14:59
#include<bits/stdc++.h>
#define MAXN (int)(2e2+1e1)
using namespace std;
int n,m,x,y;
long long dp[MAXN][MAXN];
bool iskz(int x,int y)
{
	if((x==m+2 && y==n+1) ||
	   (x==m+1 && y==n+2) ||
	   (x==m-1 && y==n+2) ||
	   (x==m-2 && y==n+1) ||
	   (x==m+1 && y==n-2) ||
	   (x==m+2 && y==n-1) ||
	   (x==m-2 && y==n-1) ||
	   (x==m-1 && y==n-2) ||
	   (x==m   && y==n )) return true;
	else return false;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>x>>y>>n>>m;
	dp[0][0]=0;
	for(int i=1;i<=x;i++) if(!iskz(i,0)) dp[i][0]=1;
	for(int i=1;i<=y;i++) if(!iskz(0,i)) dp[0][i]=1;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			if(!iskz(i,j)) dp[i][j]=dp[i][j-1]+dp[i-1][j];
			else dp[i][j]=0;
		}
	}
	cout<<dp[x][y];
	return 0;
}

2024/11/24 14:59
加载中...