叕杯㵘题给切叾
查看原帖
叕杯㵘题给切叾
717476
Gaochenxi103_QWQ楼主2024/5/14 23:07
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e2+10;
int dp[N][N]={0};
int n,m,a,b;
int dx[]={1,2,2,1,-1,-2,-2,-1},dy[]={2,1,-1,-2,-2,-1,1,2};
signed main() {
	ios::sync_with_stdio(0);
	cout.tie(0);
	cin.tie(0);
	cin>>n>>m>>a>>b;
	a++,b++;
	n+=2,m+=2;
	for(int i=0;i<8;i++)
	{
		dp[dx[i]+a][dy[i]+b]=-1;
	}
	dp[1][1]=1;
	dp[a][b]=-1;
	for(int i=0;i<n;i++)
	{
		if(dp[1][i]==-1)
		{
			break;
		}
		dp[1][i]=1;
	}
	for(int i=0;i<m;i++)
	{
		if(dp[i][1]==-1)
		{
			break;
		}
		dp[i][1]=1;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			
//			if((i==1 || j==1) && dp[i][j]!=-1)
//			{
//				dp[i][j]=1;
//				cout<<1<<" ";
//				continue;
//			 } 
			if(dp[i][j]==-1)
			{
				dp[i][j]=0;
	
			}
			else if(i==1 && j==1)
			{
				dp[i][j]=1;
//				continue;
			}
			else
			{
				dp[i][j]=dp[i-1][j]+dp[i][j-1];
			}
//			cout<<dp[i][j]<<" ";
//			cout<<i<<" "<<j<<" "<<dp[i-1][j]<<" "<<dp[i][j-1]<<"\n";
		}
//		cout<<"\n";
	}
	cout<<dp[n-1][m-1];
	return 0;
}


2024/5/14 23:07
加载中...