WA#3#4 求大佬
查看原帖
WA#3#4 求大佬
1162093
jimmy0926楼主2024/3/24 15:56

明明开了 long long\text{long long} 啊,为什么一直过不了

//P1002 过河卒
#include <iostream>
#include <cstring>
using namespace std;
int n,m,x,y;
const int dx[]={-2,-1,1,2,2,1,-1,-2},
		  dy[]={1,2,2,1,-1,-2,-2,-1};
long long f[30][30];

int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	memset(f,-1,sizeof(f));
	cin>>n>>m>>x>>y;
	for(int i=0;i<=n;i++)
		f[i][0]=1;
	for(int i=0;i<=m;i++)
		f[0][i]=1;
	f[x][y]=0;
	for(int i=0;i<8;i++)
	{
		if(x+dx[i]>=0 && y+dy[i]>=0)
			f[x+dx[i]][y+dy[i]]=0;
	}
	if(f[0][0]==0 || f[n][m]==0)
	{
		cout<<0;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(f[i][j]!=0)
				f[i][j]=f[i-1][j]+f[i][j-1];
		}
	}
	cout<<f[n][m];
	return 0;
}
//WA 60
2024/3/24 15:56
加载中...