动归的方法,不知道哪里写错了,样例都不能过
查看原帖
动归的方法,不知道哪里写错了,样例都不能过
557887
acahv楼主2021/8/24 10:52
#include<bits/stdc++.h>
#define x1 xx
#define y1 yy

using namespace std;

int m[25][25];
unsigned long long f[25][25];
int x1,y1,x2,y2;
int main()
{
	scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
	x1++;
	x2++;
	y1++;
	y2++;
	m[x2-2][y2-1]=1;
	m[x2-1][y2-2]=1;
	m[x2-2][y2+1]=1;
	m[x2-1][y2+2]=1;
	m[x2+2][y2-1]=1;
	m[x2+2][y2+1]=1;
	m[x2+1][y2-2]=1;
	m[x2+1][y2+2]=1;
	f[1][1]=1;
	for(int i=1;i<=x1;i++)
	{
		for(int j=1;j<=y1;j++)
		{
			if(m[i][j]!=1)f[i][j]=f[i-1][j]+f[i][j-1];
		}
	}
	cout<<f[x1][y1];
	return 0;
}

m是标记马的

所有加了1所以初坐标是1,1,即f[1][1]=1;

求救!!

2021/8/24 10:52
加载中...