测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A40230. 路径计数

填空题 困难

题目描述

路径计数

题目描述

从一个 5 x 5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的路线有多少种?

总长度不超过 12;

最后回到左上角;

路线不自交;

不走出 5 x 5 的方格矩阵范围之外。

如下图所示,ABC 是三种合法的路线。注意 B 和 C 由于方向不同,所以视为不同的路线。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。

本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

参考答案

#include <iostream> using namespace std; int ans, step; bool st[10][10]; int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, 1, 0, -1}; void dfs(int x, int y, int step) { if(step > 12) return; if(x == 1 && y == 1 && st[x][y] && step > 2) { ans ++; return; } for (int i = 0; i < 4; i ++) { int a = x + dx[i], b = y + dy[i]; if(a < 1 || a > 6 || b < 1 || b > 6 || st[a][b]) continue; st[a][b] = true; dfs(a, b, step + 1); st[a][b] = false; } } int main() { dfs(1, 1, 0); cout << ans << endl; return 0; }

答案解析

答案:206

上一题 下一题