2
计算创新八卦的图标
创新是一种纸牌游戏,玩家在从史前时代到现代时代的各个年龄段中进行战斗,以期比对手更快地获得成就。 创新中的每张卡都是唯一的,并为玩家提供了许多图标。如果我们将每张卡都视为2x3网格,那么左右两侧四个插槽中的三个插槽将始终被图标占用(黑色六边形中的符号不计算在内)。 该游戏有6种图标(城堡,树冠,树叶,灯泡,工厂和时钟),我们将使用chars任意代表它们012345。使用#代表黑色六边形,我们可以使用4个字符来表示每个卡上的图标。例如,上面的卡片是 0.. #.. 3.. 1.. -> 03#0 #331 355# 144# 3#0 331 55# 44# 现在,在“创新”中,游戏区域中的纸牌被分组为一堆*,以四种方式之一展开。对于每个示例,我们将使用上面的纸牌,假设最左边的纸牌03#0位于堆的顶部。 无花哨:只有最上面的卡片可见 0.. 3#0 向左张开:顶部的卡片完全可见,下面所有卡片的右三分之一 0..|.|.|.| 3#0|1|#|#| 向右张开:顶部的卡片完全可见,而下面所有卡片的左三分之一 1|3|#|0.. 4|5|3|3#0 向上张开:顶部的卡片完全可见,下面所有卡片的下半部分也完全可见。 0.. 3#0 --- 331 --- 55# --- 44# 挑战 输入将是由空格分隔的单个字符串,该字符串由两部分组成: 展开方向,是中的一个!<>^,分别表示不展开,向左展开,向右展开或向上展开。 非空卡片列表,每个卡片长4个字符,由chars组成012345#。最左边的卡片在纸堆的顶部,每张卡片正好包含一张#。 答案可能是函数,完整程序或等效的。您可以选择展开方向是第一个还是最后一个,即选择以下两种格式之一: > 03#0 #331 355# 144# 03#0 #331 355# 144# > …