求过河,输出异常
查看原帖
求过河,输出异常
402469
mikaduki楼主2020/10/10 10:29

问题描述

输入相同,输出不同,且异常的大,求各位大佬解答,万分感谢

代码

#include "stdio.h"
#include "mem.h"
#include "stdbool.h"

int horsex[9]={0,2,1,-1,-2,-2,-1,1,2};
int horsey[9]={0,1,2,2,1,-1,-2,-2,-1};

int main()
{
	int i = 0,j = 0;
	int bpx/*这是b点x坐标*/,bpy,hpx/*马的x坐标*/,hpy;
	scanf("%d%d%d%d",&bpx,&bpy,&hpx,&hpy);
	unsigned long long board[bpx][bpy]={1};
	bool ifhorse[bpx][bpy] = {false};
	memset(&ifhorse,0,sizeof(bool));
	for(i = 0;i < 9;i++)
	{
		board[hpx+horsex[i]][hpy+horsey[i]] = 0;
		ifhorse[hpx+horsex[i]][hpy+horsey[i]] = true ;
	}
	if(board[0][0] == 0)
	{
		printf("0");
		return 0;
	}
	for(i = 0;i < bpx;i++)
	{
		for(j = 0;j < bpy;j++)
		{
			if(ifhorse[i+1][j+1] == false)
			{
				board[i+1][j+1] = board[i][j+1]+board[i+1][j+1];
			}
		}
	}
	printf("%ull",board[bpx][bpy]);
	return 0;
}
2020/10/10 10:29
加载中...