POJ 3050 跳房子(Hopscotch)

📅 2026/7/3 5:42:27 👁️ 阅读次数 📝 编程学习
POJ 3050 跳房子(Hopscotch)

POJ 3050 跳房子(Hopscotch)

难度:简单
算法:DFS / 深度优先搜索

题目描述

牛以一种非传统的方式玩跳房子游戏。它们不是跳入一条线性的数字盒子中,而是创建了一个与 x 轴和 y 轴平行的 5x5 数字网格。

然后它们灵巧地跳到网格中的任何一个数字上,然后向前、向后、向右或向左(永远不会斜着)跳到网格中的另一个数字上。它们再次跳跃(规则相同)到另一个数字(可能是之前已经访问过的数字)。

通过总共五次网格内的跳跃,它们的跳跃形成了一个六位数(可能像 000201 这样的有前导零的数字)。

请确定以这种方式可以生成的不同整数的数量。

输入

第 1 至 5 行:网格,每行五个整数。

输出

第 1 行:可以构造的不同整数的数量。

样例输入

1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1

样例输出

15

提示

输出详情:
可以构造出以下 15 种不同的序列,没有其他可能的值:
111111、111112、111121、111211、111212、112111、112121、121111、121112、121211、121212、211111、211121、212111、212121。