#1:为什么在IDE上对了,却WA?!
查看原帖
#1:为什么在IDE上对了,却WA?!
513329
徐晨轩✅楼主2021/8/1 09:49
#include <stdio.h>
#define max(a,b) ((a)>(b)?(a):(b))
typedef unsigned long long ull;
int dx[]={0,-2,-1,1,2,2,1,-1,-2};
int dy[]={0,1,2,2,1,-1,-2,-2,-1};
int bx,by,mx,my;
ull f[21][21];
bool s[21][21];
int main()
{
	scanf("%d%d%d%d",&bx,&by,&mx,&my);
	f[0][0]=s[mx][my]=1;
	for(int i=1;i<=8;i++)
	{
		int a=mx+dx[i];
		int b=my+dy[i];
		if(a>=0&&a<=bx&&b>=0&&b<=by)
			s[a][b]=1;
	}
	for(int i=0;i<=bx;i++)
		for(int j=0;j<=by;j++)
		{
			if(s[i][j])continue;
			f[i][j]=max(f[i][j],f[i-1][j]+f[i][j-1]);
		}
	printf("%llu",f[bx][by]);
	return 0;
} 
//测试点#1
//input:8 6 0 2
//output:1617
2021/8/1 09:49
加载中...