60分蒟蒻求助
查看原帖
60分蒟蒻求助
260644
傻狗凉楼主2021/7/12 17:19
#include <bits/stdc++.h>
using namespace std;
int a,b,x,y;
long long dp[22][22];
int main(){
	cin>>a>>b>>x>>y;
	for(int i=0;i<=a;++i)
		dp[i][0]=1;
	for(int i=1;i<=b;++i)
		dp[0][i]=1;
	if(x>=1&&y>=2) dp[x-1][y-2]=-1;
	if(x>=2&&y>=1) dp[x-2][y-1]=-1;
	if(x>=1) dp[x-1][y+2]=-1;
	if(y>=1) dp[x+2][y-1]=-1;
	if(x>=2) dp[x-2][y+1]=-1;
	if(y>=2) dp[x+1][y-2]=-1;
	dp[x+1][y+2]=-1;
	dp[x+2][y+1]=-1;
	dp[x][y]=-1;
	for(int i=1;i<=a;++i)
	{
		for(int j=1;j<=b;++j)
		{
			if(dp[i][j]==-1) continue;
			if(dp[i-1][j]!=-1) dp[i][j]+=dp[i-1][j];
			if(dp[i][j-1]!=-1) dp[i][j]+=dp[i][j-1];
		}
	}
	cout<<dp[a][b]<<endl;
	return 0;
}
2021/7/12 17:19
加载中...