站外题,玄关,急!
查看原帖
站外题,玄关,急!
1039211
Wendy_Hello_qwq楼主2024/4/15 20:36

1084.【搜索与回溯算法】马的走法

时间限制: 1 s

空间限制: 256MB

题目描述

在5x5的棋盘上,给定一位置,输出马回到原点有多少种不同的方案。

注意:马走的每一步必须在棋盘上,走斜日,如下图:

注意:棋盘的左上角坐标为 (1,1)。

输入

给定一位置:x y,中间有一空格隔开。

输出

输出可以回到原点的方案总数。

样例数据

输入

1 1

输出

61424

主要我不知道搜索结束条件是什么

me的代码

#include <cstdio>
using namespace std;
int dx[8] = {-2, -2, -1, 1, 2, 2, 1, -1}, dy[8] = {-1, 1, 2, 2, 1, -1, -2, -2};
int p, q, ans, first, a[105][105], vis[105][105];
void search (int, int);
int main()
{
	scanf ("%d%d", &p, &q);
	vis[p][q] = 1;
	search (p, q);
	printf ("%d", ans);
	return 0;
}
void search (int x, int y)
{
	if ()//这里该怎么写?
	else
	{
		for (int i = 0; i <= 7; i++)
		{
			int xx = x + dx[i];
			int yy = y + dy[i];
			if (xx >= 1 && xx <= 5 && yy >= 1 && yy <= 5 && vis[xx][yy] == 0)
			{
				vis[xx][yy] = 1;
				search (xx, yy);
				vis[xx][yy] = 0;
			}
		}
	}
}

在线等,挺急的!

2024/4/15 20:36
加载中...