/ lawren / 题库 /

三维贪吃蛇

三维贪吃蛇

暂无测试数据。

三维贪吃蛇

题目描述

众所周知在传统的二维贪吃蛇中,只要构造并沿着二维网格图的哈密顿回路走即可通关游戏,现在给出一个三维的网格图,三个维度的大小分别为 \( a、b、c \) ,令每个点的坐标表示为\( [x,y,z](1 \leq x \leq a、 1 \leq y \leq b、 1 \leq z \leq c、 x,y,z \in Z)\),已知两个点坐标分别为\([x_1,y_1,z_1]\)与\([x_2,y_2,z_2] \),若 \(|x_1-x_2|+|y_1-y_2|+|z_1-z_2|=1\)则两个点相邻。现在,你位于初始点 \([1,1,1]\) ,每次移动你可以移动到当前点的任意一个相邻点,请构造出一条经过这 \( a \cdot b \cdot c \) 个点的哈密顿回路。若存在多个解,则输出任意一个解即。

输入格式

一行共三个整数 \(a、b、c\)。\((1 \leq a,b,c \leq 100)\)
保证输入数据存在至少一条哈密顿回路

输出格式

共 \( a \cdot b \cdot c \) 行,每行包括一个整数 \(k\) 与一个符号 \(p\) , \(k\) 表示对应维度 \( ( 1 \leq k \leq 3 ) \), \(p\) 为\("+"\)或\("-"\) 表示第 \(k\) 维的变化情况,若 \(p\) 为 \("+"\) 则第 \(k\) 维加一,反之减一

输入样例

2 2 2

输出样例

1 +
2 +
1 -
3 +
1 +
2 -
1 -
3 -

定义

在本题中,若一条路径经过图上的每一个节点(除了起始点与终点)有且只有一次,且起始点与终点是同一点,则该路径是图的哈密顿回路

样例解释

哈密顿回路路径为
\([1,1,1] \rightarrow [2,1,1] \rightarrow [2,2,1] \rightarrow [1,2,1] \rightarrow [1,2,2] \rightarrow [2,2,2] \rightarrow [2,1,2] \rightarrow [1,1,2] \rightarrow [1,1,1]\)

信息

ID
1001
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者