返回Manufactoria中输入的最后一种颜色


10

这个难题是我对Manufactoria系列挑战中的下一个难题。

背景

Manufactoria是一种游戏/二维编程语言。播放器必须创建将操纵队列以达到所需输出的程序。它很容易学习,但很难掌握,因此很容易造成各种各样的挑战。如果您不知道我在说什么,我建议您玩游戏的前几个教程级别。

挑战

您的挑战是创建一台机器,该机器将返回输入字符串的最后一个元素。为了使其更具挑战性,输入字符串可以是所有四种颜色的任意组合。

可在此处找到要使用的官方自定义级别:

http://pleasingfungus.com/Manufactoria/?ctm=最后一行r; 13; 3; 0 ;

本周的挑战主要集中在压缩的概念上。我选择了这个挑战,需要大面积的传送带。所有四种颜色都出现在输入中的事实意味着很难存储信息。

尽管我没有尝试压缩,但我的第一个工作原型具有114个零件,可放入13x13的空间,几乎没有剩余空间。

计分

这项挑战的目标是尽可能使用一些零件。得分是放置的零件数,得分最低者获胜。

尽管只有8个测试用例,但是您的创作理论上应该能够在任何测试用例下运行。提供的测试用例用于调试目的。

例子

in:  byrgyrbyrrgry
out: y
in:  ggryybrryr
out: r
in:         #don't you love degenerate cases?
out:
in:  gyrbrygbrygbyrb
out: b

Answers:


6

65个零件

在此处输入图片说明 老实说,我什至没有想到要让成对的读者直接面对面,直到我在已经发布的解决方案中看到它。但是后来我开始想出很多优化技巧。

链接


...您可以将传送带彼此叠放吗?
SuperJedi224 '16

7

4

+1-几点建议:将顶部的红色/蓝色分隔线向南移动三个位置,您可以保存左下方的部分(向左移动一个)
霍华德

4

传送带的少许重新布置将其减少到81个零件。看这里。另外,从6:23到5:38更改周围的颜色似乎可以使其速度更快(尽管实际上并不重要)。请参阅此粘贴以获取URL。
波动率

@Volatility谢谢您的三个部分。在似乎更快,完全取决于测试的情况下,所以它其实并不重要;-)
霍华德

2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.