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|:|gyrbrygbrygbyrb:bb|brbr:brygbrygbyrb:gb|brbr 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

답변:


6

65 개 부품

여기에 이미지 설명을 입력하십시오 솔직히 말해서 이미 게시 된 솔루션에서 볼 때까지 독자 쌍을 서로 대항시키는 아이디어를 생각해 낼 수 없었습니다. 그러나 나중에 많은 최적화 트릭을 만들기 시작했습니다.

링크


... 컨베이어 벨트를 서로의 위에 놓을 수 있습니까?
SuperJedi224

7

4

+1-여러 아이디어 : 상단 빨강 / 파란색 칸막이를 남쪽 3 곳으로 이동, 왼쪽 하단을 저장할 수 있습니다 (왼쪽으로 이동)
Howard

4

컨베이어 벨트의 약간의 재 배열은 이것을 81 부분으로 줄였습니다. 여기를 참조하십시오 . 또한 색상을 변경하면 6:23에서 5:38로 더 빨라지는 것처럼 보입니다 (실제로 중요하지는 않지만). URL 은이 페이스트 를 참조하십시오 .
변동성

@Volatility 3 부분 감사합니다. 는 더 빠른 것 같습니다 ;-) 완전히 정말 문제가되지 않도록, 테스트 케이스에 따라 달라집니다
하워드

2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.