ส่งคืนสีสุดท้ายของอินพุตใน Manufactoria


10

ปริศนานี้เป็นเกมต่อไปในชุดการแข่งขัน Manufactoria ของฉัน

พื้นหลัง

Manufactoriaเป็นภาษาการเขียนโปรแกรมเกม / สองมิติ ผู้เล่นจะต้องสร้างโปรแกรมที่จะจัดการคิวเพื่อให้ได้ผลลัพธ์ที่ต้องการ มันง่ายที่จะเรียนรู้ แต่ยากที่จะเชี่ยวชาญดังนั้นจึงยืมตัวเองเพื่อสร้างความท้าทายที่หลากหลาย หากคุณไม่รู้ว่าฉันกำลังพูดถึงอะไรฉันขอแนะนำให้คุณเล่นระดับการสอนสองสามบทแรกของเกม

ท้าทาย

ความท้าทายของคุณคือการสร้างเครื่องที่จะคืนองค์ประกอบสุดท้ายของสตริงอินพุต จะทำให้เรื่องนี้มากยิ่งขึ้นท้าทายสายป้อนสามารถใด ๆรวมกันของทั้งสี่สี

ระดับที่กำหนดเองอย่างเป็นทางการที่จะใช้อยู่ที่นี่:

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:b|brbrbryyrygbrg:g|rrrrrrrrrr: 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

73 69 ชิ้นส่วน

ป้อนคำอธิบายรูปภาพที่นี่

การจัดระเบียบเป็นแถบดูเหมือนจะประหยัดอุปกรณ์จำนวนมาก จากซ้ายไปขวาคอลัมน์คือ "สีสุดท้ายคือสีเหลือง", "สีสุดท้ายเป็นสีฟ้า", อุปกรณ์สองคอลัมน์, "สีสุดท้ายเป็นสีแดง", "สีสุดท้ายเป็นสีเขียว" และ "ทั้งหมดเสร็จแล้ว"

http://pleasingfungus.com/Manufactoria/?lvl=35&code=c10:8f2;q11:6f5;i11:7f0;p11:8f5;i12:6f4;q12:7f5;p12:8f5;c13:8f0;i10:7f6 ; i10: 6f6; I13: 6f7; I13: 7f7; c9: 6f3; c9: 7f3; c9: 8f3; Q11: 9f3; Q12: 9f3; c9: 9f2; i10: 9f3; I13: 9f2; G12: 12f3; C10 : 10f1; c13: 11f1; c13: 10f1; C10: 11f1; p12: 2f3; Q12: 3f3; c13: 2f3; I13: 3f5; c11: 2f0; C10: 2f3; i10: 3f1; c11: 3f0; c9: 3f3 ; p11: 11f3; p12: 10f3; i11: 10f1; I12: 11f5; c14: 3f3; c14: 6f3; c14: 7f3; c14: 8f3; c14: 9f0; i14: 4f5; c14: 5f3; I13: 4f5; c13 : 5f3; Y11: 12f3; c11: 13f2; c9: 4f3; c9: 5f3; C10: 4f3; C10: 5f3; b11: 5f1; c11: 4f2; c12: 4f2; c15: 4f3; c15: 5f3; c15: 6f3 ; c15: 8f3; c15: 7f3; c15: 9f3; c15: 10f3; c15: 11f3; c15: 12f3; c15: 13f0; c14: 13f0; c13: 13f0; R12: 5f1; & CTM = Last_in_Line; IN: _a_series_of_colors_OUT: _the_very_last_color; byrgyrbyrrgry: Y | bbrrbryyyrrbr: R | ggryybrryr: R | b: ข |: | gyrbrygbrygbyrb: B | brbrbryyrygbrg: กรัม | rrrrrrrrrr: R; 13; 3 ;


1
ฉันได้สร้างโซลูชันที่แตกต่างกันห้าแบบสำหรับโซลูชันนี้และพวกเขามีขนาดกว่า 100 ส่วน วิธีการแก้ปัญหาของคุณพัดฉันออกไป
breadbox

4

+1 - หลายแนวคิด: เลื่อนตัวแบ่งสีแดง / น้ำเงินด้านบนสามตำแหน่งทางใต้คุณสามารถบันทึกส่วนล่างซ้าย (เลื่อนหนึ่งไปทางซ้าย)
Howard

4

การจัดเรียงสายพานลำเลียงเล็ก ๆ น้อย ๆ ทำให้ส่วนนี้ลดลงเหลือ 81 ชิ้น ดูที่นี่ นอกจากนี้การเปลี่ยนสีรอบ ๆ ดูเหมือนจะทำให้เร็วขึ้น (แม้ว่ามันจะไม่สำคัญก็ตาม) จาก 6:23 ถึง 5:38 ดูการวางนี้สำหรับ URL
ความผันผวน

@ ความผันผวนขอบคุณสำหรับ 3 ส่วน ดูเหมือนเร็วขึ้นทั้งหมดขึ้นอยู่กับกรณีทดสอบจึงจริงๆไม่สำคัญ ;-)
ฮาวเวิร์ด

2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.