轨道
/
Ruby
Ruby
/
练习
/
多米诺骨牌
多米诺骨牌

多米诺骨牌

中等

简介

在 Toyland,火车总是忙着把各种宝物送往城市的各个角落,从闪亮的弹珠到稀有的积木。 它们行驶的轨道由彩色的多米诺骨牌形状的部件拼成,每块上面都标着两个数字。 要让火车跑起来,这些骨牌必须首尾相接,连成一条数字完全匹配的完整链条。

今天,一批稀有玩具的紧急运送暂时搁置了。 有人交给你一组轨道部件,让你检查一下。 如果它们能连成一条连续的链条,火车就能出发,把欢笑带到 Toyland 的每个角落。 如果不能,这组部件就会被丢弃,再换一组来试。

玩具们都指望你来解开这个谜题。 这些骨牌究竟能连通轨道、让火车跑起来,还是会被搁置一旁?

说明

用多米诺骨牌摆出一条链。

给定一组多米诺骨牌,计算出一种排列方式,使它们组成一条正确的骨牌链。 在这条链中,每块骨牌一端的点数必须与相邻骨牌相接一端的点数相同。 此外,没有相邻骨牌的那两端(也就是第一块和最后一块骨牌)的点数也必须彼此相同。

例如给定骨牌 [2|1]、[2|3] 和 [1|3],你应该算出类似 [1|2] [2|3] [3|1] 或 [3|2] [2|1] [1|3] 或 [1|3] [3|2] [2|1] 这样的排列,其中首尾的数字相同。

对于骨牌 [1|2]、[4|1] 和 [2|3],得到的链是无效的:[4|1] [1|2] [2|3] 的首尾数字不相同。 4 != 3

有些测试用例的链解答中可能会用到重复的骨牌,可以假设用到了多副多米诺骨牌。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Ruby Exercism

准备好开始 多米诺骨牌 了吗?

注册 Exercism,借助 21 个概念121 个练习 和真人导师指导,学习并掌握 Ruby,全部免费。