dp80分求改
查看原帖
dp80分求改
190931
cannotdp楼主2022/1/21 14:30
#include <iostream>
#include <cstring>
using namespace std;
long long m;
long long x,y,n;
long long a[1005][1005];
int main(){
	memset(a,0,sizeof(a));
	cin>>n>>m>>x>>y;
	a[x][y]=-1;
	a[0][1]=1;
	a[1][0]=1;
	if(x-2>=0&&y-1>=0)
		a[x-2][y-1]=-1;
	if(x-1>=0&&y-2>=0)
		a[x-1][y-2]=-1;
	if(y-2>=0)
		a[x+1][y-2]=-1;
	if(y-1>=0)
		a[x+2][y-1]=-1;
	if(x-2>=0)
		a[x-2][y+1]=-1;
	if(x-1>=0)
		a[x-1][y+2]=-1;
	a[x+1][y+2]=-1;
	a[x+2][y+1]=-1;
/*	for(int i=0;i<=n;i++){
		for(int j=0;j<=m;j++)
			cout<<a[i][j]<<" ";
		cout<<endl; 
	}*/
	for(int i=0;i<=n;i++)
		for(int j=0;j<=m;j++)
			if(a[i][j]!=-1)
				if(i||j){
					if(a[i-1][j]!=-1&&i-1>=0&&j>=0)
						a[i][j]+=a[i-1][j];
					if(a[i][j-1]!=-1&&i>=0&&j-1>=0)
						a[i][j]+=a[i][j-1];
				}
	cout<<a[n][m];
	/*for(int i=0;i<=n;i++){
		for(int j=0;j<=m;j++)
			cout<<a[i][j]<<" ";
		cout<<endl; 
	}*/
	return 0;
}
2022/1/21 14:30
加载中...