求调……
查看原帖
求调……
1419738
liyinzhi2024楼主2024/11/29 19:38
#include<bits/stdc++.h>
using namespace std;
int n,m,mx,my;
long long dp[22][22];
int dx[9]={0,-1,1,-2,2,-2,2,-1,1};
int dy[9]={0,-2,-2,-1,-1,1,1,2,2};
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m>>mx>>my;
	dp[0][0]=-1;
	for(int i=1,j=0;i<=n,j<9;i++,j++)
	{
		dp[1][i]=dp[i][1]=1;
		dp[i][0]=dp[0][i]=-1;
		dp[mx+dx[j]][my+dy[j]]=-1;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(i==1 or j==1 or 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];
		}
	}
	/*
	for(int i=0;i<=n;i++)
	{
		for(int j=0;j<=m;j++)
		{
			cout<<setw(3)<<dp[i][j];
		}
		cout<<endl;
	}
	*/
	cout<<dp[n][m];
	return 0;
}
2024/11/29 19:38
加载中...