为什么输出0啊???
查看原帖
为什么输出0啊???
857349
BinSky楼主2023/10/13 21:52
#include <bits/stdc++.h>
using namespace std;
int h_ctrl[8][2]={{1,2},{2,1},{-1,2},{-2,1},{1,-2},{2,-1},{-1,-2},{-2,-1}};
int n,m,hx,hy;
bool f(int x,int y)
{
	for(int i=0;i<8;i++)
	{
		if(x==h_ctrl[i][0]+hx && y==h_ctrl[i][1]+hy)
			return false;
	}
	return true;
}
int main()
{
	int dp[100][100]={1};
	cin>>n>>m>>hx>>hy;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(i==hx&&j==hy)
				dp[i][j] = 0;
			else if(f(i,j)==false)
				dp[i][j] = 0;
			else
				dp[i][j] = dp[i-1][j]+dp[i][j-1];
		}
	}
	cout<<dp[n][m]<<endl;
	return 0;
}
2023/10/13 21:52
加载中...