【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]);
}
}