60分递推,求助??
查看原帖
60分递推,求助??
343245
Bigfish_楼主2021/10/22 17:34
#include <bits/stdc++.h>
using namespace std;
unsigned long long n,m,x1,y11,a[1010][1010]={};
bool b[21][21]={};
int main()
{
	cin>>n>>m>>x1>>y11;
	++x1;++y11;++n;++m;//棋盘下标因为从0,0开始 
	a[1][1]=1;
	b[x1][y11]=1;
	b[x1+2][y11+1]=1;b[x1-2][y11+1]=1;b[x1+2][y11-1]=1;b[x1-2][y11-1]=1;
	b[x1+1][y11+2]=1;b[x1-1][y11+2]=1;b[x1+1][y11-2]=1;b[x1-1][y11-2]=1;
	//cout<<"\n";
	for(int t=1;t<=n;++t)
	{
		for(int i=1;i<=m;++i)
		{
			if(b[t][i]==1) a[t][i]=0;
			else a[t][i]+=a[t-1][i]+a[t][i-1];
			//cout<<a[t][i]<<" ";
		}
		//cout<<"\n";
	}
	cout<<a[n][m];
	return 0;
}
2021/10/22 17:34
加载中...