【SSL 1464】跳房子2

题目大意:

在一个 \(5\times 5\) 的地图内每一个格子都有一个不超过 \(10\) 的数,你能从任意格子开始走,上下左右四个方向走 \(5\) 步,问最后的六位数有多少种。

正文:

暴力搜索。

代码:

void dfs(int x, int y, int step, int val)
{
	if(step == 6)
	{
		ans[val] = 1;
		return;
	}
	for (int i = 0; i <= 3; i++)
	{
		int xx = x + dx[i], yy = y + dy[i];
		if(xx > 0 && xx <= n && yy > 0 && yy <= n)
			dfs (xx, yy, step + 1, val * 10 + a[xx][yy]);
	}
}
posted @ 2020-08-12 15:24  Jayun  阅读(84)  评论(0编辑  收藏  举报