Problem 4097 --F: 数字接龙

4097: F: 数字接龙

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $2$ 正确数量 $2$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

小蓝最近迷上了一款名为《数字接龙》的迷宫游戏,游戏在一个大小为 N × N 的格子棋盘上展开,其中每一个格子处都有着一个 0 . . . K − 1 之间的整 数。游戏规则如下:

  1. 从左上角 (0, 0) 处出发,目标是到达右下角 (N − 1, N − 1) 处的格子,每一 步可以选择沿着水平/垂直/对角线方向移动到下一个格子。

  2. 对于路径经过的棋盘格子,按照经过的格子顺序,上面的数字组成的序列 要满足:0, 1, 2, . . . , K − 1, 0, 1, 2, . . . , K − 1, 0, 1, 2 . . . 。 

  3. 途中需要对棋盘上的每个格子恰好都经过一次(仅一次).

  4. 路径中不可以出现交叉的线路。例如之前有从 (0, 0) 移动到 (1, 1),那么再 从 (1, 0) 移动到 (0, 1) 线路就会交叉.

为了方便表示,我们对可以行进的所有八个方向进行了数字编号,如下图 2 所示;因此行进路径可以用一个包含 0 . . . 7 之间的数字字符串表示,如下图 1 是一个迷宫示例,它所对应的答案就是:41255214。 

现在请你帮小蓝规划出一条行进路径并将其输出。如果有多条路径,输出 字典序最小的那一个;如果不存在任何一条路径,则输出 −1。 

第一行包含两个整数 N、K。 接下来输入 N 行,每行 N 个整数表示棋盘格子上的数字。 

对于 80% 的评测用例:1 ≤ N ≤ 5。

对于 100% 的评测用例:1 ≤ N ≤ 10,1 ≤ K ≤ 10。

输出一行表示答案。如果存在答案输出路径,否则输出 −1。 
3 3
0 2 0
1 1 1
2 0 2
41255214

推荐代码 查看4097 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$3 $ms] 纪润奇 1095034 2024-04-13 20:42:55
内存最少[$2220 $KB] DebuggerZero 1097451 2024-04-23 11:10:50
第一AC 纪润奇 1095034 2024-04-13 20:42:55
第一挑战 纪润奇 1095034 2024-04-13 20:42:55

赛题来源/所属竞赛 第十五届蓝桥杯大赛软件赛省赛 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛