求各位大佬解答
查看原帖
求各位大佬解答
1187799
zjy20110816楼主2024/3/5 22:23
#include<bits/stdc++.h>
using namespace std;
long long a[30][30];
long long n,m,x,y;
int main()
{
	cin >> n >> m >> x >> y;
	
	for(int i = 0;i <= n;i++)
	{
		for(int j = 0;j <= m;j++)
		{
			a[i][j]=1;
		}
	}
	
	a[x][y]=0;
	if (x+2 <= n && y-1 >= 0) a[x+2][y-1]=0;
	if (x+2 <= n && y+1 <= m) a[x+2][y+1]=0;
	if (x+1 <= n && y+2 <= m) a[x+1][y+2]=0;
	if (x-1 >= 0 && y+2 >= m) a[x-1][y+2]=0;
	if (x-2 >= 0 && y+1 <= m) a[x-2][y+1]=0;
	if (x-2 >= 0 && y-1 >= 0) a[x-2][y-1]=0;
	if (x-1 >= 0 && y-2 >= 0) a[x-1][y-2]=0;
	if (x+1 <= n && y-2 >= 0) a[x+1][y-2]=0;
	
	for(int i = 0;i <= n;i++)
	{
		for(int j = 0;j <= m;j++)
		{
			if(i == 0 && j == 0)
			{
				continue;
			}
			
			if(a[i][j]==0)
			{
				continue;
			}
			
			if(i == 0)
			{
				a[i][j] = a[i][j-1];
			} 
			else if(j == 0)
			{
				a[i][j] = a[i-1][j];
			} 
			else
			{
				a[i][j] = a[i-1][j] + a[i][j-1];
			}
		}
	}
	
	cout << a[n][m] << endl;
	return 0;
}


为什么20分,后4个点全红 求大佬解答QAQ

2024/3/5 22:23
加载中...