为什么输出10啊,测试125过不了
查看原帖
为什么输出10啊,测试125过不了
501785
逍遥九霄楼主2021/8/20 15:38
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<stdio.h>
#include<cstdlib>
#include<algorithm>
using namespace std;
long long x3,y3,x2,y2;
bool a[101][101];
long long f[25][25];
int main()
{
	scanf("%lld%lld%lld%lld",&x3,&y3,&x2,&y2);
	if(x2>1)
	{
		if(y2>0)
		a[x2-2][y2-1]=1;
		a[x2-2][y2+1]=1;
	}
	if(y2>1)
	{
		if(x2>0)
		a[x2-1][y2-2]=1;
		a[x2+1][y2-2]=1;
	}
	if(x2>0)
	a[x2-1][y2+2]=1;
	if(y2>0)
	a[y2-1][x2+2]=1;
	a[x2+2][y2+1]=1;
	a[x2+1][y2+2]=1;
	a[x2][y2]=1;
	for(int i=0;i<=x3;j++)
	{
		for(int j=0;j<=y3;j++)
		{
			if(a[i][j]==0)
			{
			    if(i==0&&j==0)
			    f[0][0]=1;
			    else if(i==0&&j>0)
			    f[0][j]=f[0][j-1];
			    else if(i>0&&j==0)
			    f[i][0]=f[i-1][0];
			    else
			    f[i][j]=f[i][j-1]+f[i-1][j];
			}
		}
	}
	printf("%lld",f[x3][y3]);
	return 0;
}
2021/8/20 15:38
加载中...