我的电线都纠结了!
电线缠在一起不是很烦吗?好吧,这只是发生在我身上,所以我想帮助我解开他们!为了方便起见,我已将所有设备与设备断开连接,但它们仍连接到电源插座。您的挑战是弄清楚如何解开它们!
输入值
输入将包含空格,管道和Xs(两种情况)。输入将如下所示:
| | | |
X | |
| | x
| X |
| | | |
大写字母X表示左导线与右导线相交,小写字母x表示相反。第一行和最后一行将始终为| | | |...
。您可以将输入作为逗号分隔的字符串,字符串数组等。格式并不严格,只要它有意义并且不包含任何其他信息即可。
输出量
对于这个挑战,我不仅需要知道需要多长时间,而且还需要确切地知道该怎么做。因此,输出一个整数对的列表,其中的字符R或L不区分大小写,表示要解开哪两条线以及哪种方式(R表示从右到左,反之亦然)。您需要告诉我哪种方式可以穿越他们;我自己不知道这一点。只要您以正确的顺序输出所有整数对+字符并且不输出任何多余的废话(括号,逗号等都可以),输出也非常灵活。导线可以为零或一索引,但索引必须从左侧开始。请注意,您必须从底部而不是顶部解开角度。输出样式必须一致,如果不明显,请指定输出方式。字符的大小写不一致
样本输出
对于上面的示例输入,输出将类似于:
2 3 R
3 4 L
1 2 R
这里的输出格式是用换行符分隔的值列表。这是1索引的。
进一步的规格
X和x沿任一方向垂直堆叠在一起是有效的。由于我很懒,所以我不想不必要地切换电线,因此在这种情况下不要输出任何内容。如果发现该问题,我将轻轻拉动电线使其伸直。
将多个X和x垂直堆叠也是有效的,并且只要两条导线都没有参与其他交叉,我就不需要任何额外的移动(因为我很懒)。因此,如果字符X X x X x x
显示在没有任何其他交叉的列中,则输出应仍为空白!
如果不清楚,则R消除X,L消除x。
同一行中可能有两个导线交叉,在这种情况下,这两个交换的顺序无关紧要。您将永远不会得到类似的东西| X X |
(这没有意义,因为这意味着中间电线在其左侧和右侧的电线上交叉了)。
并不总是有十字路口...
输入可以是单个管道。但是,输入永远不会为空。
最短的有效解决方案将在12月20日获胜!
更多例子
正如我所承诺的:
例子1
输入值
| | | | | |
| | X x
X | x |
| x | X
X X | |
| | | | | |
输出量
1 2 R
3 4 R
2 3 L
5 6 R
1 2 R
4 5 L
3 4 R
5 6 L
例子2
输入值
| | |
X |
| x
| | |
| X
| x
| | |
输出量
2 3 L
1 2 R
例子3
输入值
|
输出为空白。是的,您必须处理这种情况。
例子4
输入值
| |
X
x
X
x
X
x
X
x
X
x
| |
输出为空白。纯娱乐 :)。
例子5
输入值
| |
X
X
x
X
x
x
| |
输出仍然为空...