第十届蓝桥杯(国赛)——路径计数
Posted 业余算法学徒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十届蓝桥杯(国赛)——路径计数相关的知识,希望对你有一定的参考价值。
问题描述
从一个 5 x 5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的路线有多少种?
- 总长度不超过 12;
- 最后回到左上角;
- 路线不自交;
- 不走出 5 x 5 的方格矩阵范围之外。
如下图所示,ABC 是三种合法的路线。注意 B 和 C 由于方向不同,所以视为不同的路线。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:206
题解
DFS:
重合路径
:
(1, 1)
→(1, 2)
→(1, 1)
(1, 1)
→(2, 1)
→(1, 1)
#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;
CSDN 社区图书馆,开张营业!
深读计划,写书评领图书福利~
以上是关于第十届蓝桥杯(国赛)——路径计数的主要内容,如果未能解决你的问题,请参考以下文章