求助,40分,WA
查看原帖
求助,40分,WA
641212
alan21楼主2023/9/9 19:31
#include<bits/stdc++.h>
using namespace std;
long long a[25][25];
int n,m,x,y,b[2][10]={{-2,-2,+2,+2,-1,-1,+1,+1},{-1,+1,-1,+1,-2,+2,-2,+2}};
int main(){
	cin>>n>>m>>x>>y;
	a[0][0]=1,a[x][y]=-1;
	for(int i=0;i<8;i++)
		a[max(x+b[0][i],0)][max(y+b[1][i],0)]=-1;
	for(int i=1;i<=20;i++)
	{
		if(a[i][0]!=-1&&a[i-1][0]!=-1)a[i][0]=1;
		else a[i][0]=-1;
		if(a[0][i]!=-1&&a[0][i-1]!=-1)a[0][i]=1;
		else a[0][i]=-1;
	} 
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
		{
			if(a[i][j]!=-1)
			{
				if(a[i-1][j]!=-1)a[i][j]+=a[i-1][j];
				if(a[i][j-1]!=-1)a[i][j]+=a[i][j-1];
			}
		}
//	for(int i=0;i<=n;i++)
//	{
//		for(int j=0;j<=m;j++)
//			cout<<a[i][j]<<' ';
//		cout<<'\n';
//	}
	cout<<a[n][m];
	return 0;
}
2023/9/9 19:31
加载中...