Manufactoriaの入力の最後の色を返します


10

このパズルは、Manufactoriaチャレンジの次のシリーズです。

バックグラウンド

Manufactoriaはゲーム/ 2次元プログラミング言語です。プレーヤーは、キューを操作して目的の出力に到達するプログラムを作成する必要があります。習得は簡単ですが、習得が難しいため、さまざまな課題を作成するのに役立ちます。私が何を話しているのかわからない場合は、ゲームの最初のいくつかのチュートリアルレベルをプレイすることをお勧めします。

チャレンジ

あなたの課題は、入力文字列の最後の要素を返すマシンを作成することです。これをさらに困難にするために、入力文字列は4色すべての任意の組み合わせにすることができます

使用される公式のカスタムレベルは次の場所にあります。

http://pleasingfungus.com/Manufactoria/?ctm=Last_in_Line!;IN:_a_series_of_colors_OUT:_the_very_last_color;byrgyrbyrrgry:y|bbrrbryyyrrbr:r|ggryybrryr:r|b:b|:|gyrbrygbrygrrrrbrgbrbrgbrbbrg r; 13; 3; 0 ;

今週の課題は、主に圧縮のアイデアに焦点を当てています。私はこの挑戦を選んで、コンベヤーベルトの大きな混乱を必要としました。入力に4色すべてが表示されるという事実は、情報を格納することが非常に難しいことを意味します。

私は圧縮を試みませんでしたが、最初に機能するプロトタイプには114個のパーツがあり、13x13のスペースに収まるスペースがほとんどありませんでした。

得点

この課題の目標は、可能な限りいくつかのパーツを使用することです。スコアは配置されたパーツの数であり、最も低いスコアが勝ちます。

テストケースは8つしかありませんが、作成したものは理論的にはどのテストケースでも機能するはずです。提供されているテストケースは、デバッグ用です。

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

回答:


6

65パーツ

ここに画像の説明を入力してください 正直に言うと、すでに投稿されたソリューションでそれを見るまで、読者のペアを直接互いに向かい合わせるという考えすら思いつきませんでした。しかし、後で私は多くの最適化トリックを考え始めました。

リンク


...コンベヤベルトを互いの上に置くことができますか?
SuperJedi224

7

1
私はこれに対して5つの異なるソリューションを構築しましたが、それらのサイズはすべて100を超えるものでした。あなたの解決策は私を吹き飛ばします。
ブレッドボックス2013

4

+1-いくつかのアイデア:上部の赤/青のディバイダーを3桁南にシフトすると、左下の部分を保存できます(左に1つシフト)
ハワード

4

コンベヤーベルトを少し並べ替えることで、これを81部品に減らしました。こちらをご覧ください。また、周りの色を変更すると、6:23から5:38に速くなります(実際には問題ありません)。URLについては、この貼り付けを参照してください。
ボラティリティ2013年

@ボラティリティ3部ありがとうございます。速いようだそれは本当に問題ではないので、完全に、テストケースに依存;-)
ハワード

2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.