#60分求助
查看原帖
#60分求助
559431
American楼主2022/3/1 10:46
#include<iostream>
using namespace std;
int main()
{
	int g[21][21]={0},n,m,cx,cy;
	long long f[21][21]={0};
	cin>>n>>m>>cx>>cy;
	g[cx][cy]=1;
	if(cx+2<=n && cy+1<=m) g[cx+2][cy+1]=1;
	if(cx+2<=n && cy-1<=m) g[cx+2][cy-1]=1;
	if(cx-2<=n && cy+1<=m) g[cx-2][cy+1]=1;
	if(cx-2<=n && cy-1<=m) g[cx-2][cy-1]=1;
	if(cx-1<=n && cy+2<=m) g[cx-1][cy+2]=1;
	if(cx+1<=n && cy+2<=m) g[cx+1][cy+2]=1;
	if(cx-1<=n && cy-2<=m) g[cx-1][cy-2]=1;
	if(cx+1<=n && cy-2<=m) g[cx+1][cy-2]=1;
	f[0][0]=1;
	for(int i=1; i<=n; ++i)
	{
		if(!g[i][0])
		{
			f[i][0]=f[i-1][0];
		}
		else
		{
			f[i][0]=0;
		}
	}
	
	for(int j=1; j<=m; ++j)
	{
		if(!g[0][j])
		{
			f[0][j]=f[0][j-1];
		}
		else
		{
			f[0][j]=0;
		}
	}
	
	for(int i=1; i<=n; ++i)
	{
		for(int j=1; j<=m; ++j)
		{
			if(g[i][j])
			{
				f[i][j]=0;
			}
			else
			{
				f[i][j]=f[i-1][j]+f[i][j-1];
			}
		 } 
	}
	cout<<f[n][m]<<endl;
	return 0;
 }  
2022/3/1 10:46
加载中...