Joe เป็นนักพัฒนา BF โดยเฉลี่ยของคุณ เขากำลังจะตรวจสอบการเปลี่ยนแปลงรหัสของที่เก็บของพวกเขาเมื่อเขาได้รับโทรศัพท์จากเจ้านายของเขา "โจ! เครื่องของลูกค้าใหม่เสีย! ตัวแปล brainfuck ตั้งค่าเซลล์ทั้งหมดให้เป็นค่าสุ่มก่อนที่โปรแกรมจะทำงานไม่มีเวลาแก้ไขรหัสของคุณจะต้องจัดการกับมัน" โจไม่ได้คิดมากและกำลังจะเขียนโปรแกรมเพื่อกำหนดล้านเซลล์แรกให้เป็นศูนย์เมื่อหัวหน้าของเขาขัดจังหวะเขาอีกครั้ง - "... และไม่คิดที่จะใช้กำลังดุร้ายรหัสจะต้อง เล็กที่สุด " ตอนนี้คุณต้องช่วยโจผู้น่าสงสาร!
ข้อมูลจำเพาะ
- คุณจะได้รับรหัส brainfuck ที่ถูกต้องเป็นข้อมูลเข้า
- โปรแกรมของคุณจะแก้ไขโค้ดเพื่อให้สามารถทำงานกับล่าม brainfuck แบบสุ่ม
- ซึ่งหมายความว่าก่อนการเรียกใช้งานโปรแกรมเซลล์สามารถกำหนดเป็นค่าใดก็ได้
- โปรแกรมใหม่ควรมีพฤติกรรมเหมือนกันทุกประการ
- ล่ามจะมีค่าสูงสุดของเซลล์ 255 ด้วยการห่อและเทปความยาวไม่ จำกัด
เกณฑ์การให้คะแนน
คะแนนของคุณเป็น10 เท่าของขนาดคอมไพเลอร์ไบต์บวกผลรวมของขนาดกรณีทดสอบ เห็นได้ชัดว่าได้คะแนนต่ำสุดเพื่อลดผลกระทบจากการเพิ่มประสิทธิภาพของกรณีทดสอบฉันขอสงวนสิทธิ์ในการเปลี่ยนแปลงกรณีทดสอบหากฉันสงสัยอะไรและอาจจะทำได้ก่อนเลือกผู้ชนะ
กรณีทดสอบ
(ฉันได้รับสิ่งเหล่านี้จากหน้า esolangsและหน้าเว็บนี้: http://www.hevanet.com/cristofd/brainfuck/ ) ขอขอบคุณ @Sparr สำหรับกรณีทดสอบครั้งสุดท้าย
- สวัสดีชาวโลก:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
- ย้อนกลับอินพุต:
>,[>,]<[.<]
- พลังของสอง (สตรีมไม่สิ้นสุด):
>++++++++++>>+<+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<]>.>[->[ <++>-[<++>-[<++>-[<++>-[<-------->>[-]++<-[<++>-]]]]]]<[>+<-]+>>]<<]
- กำลังสองต่ำกว่า 10,000:
++++[>+++++<-]>[<+++++>-]+<+[>[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+>>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<]<<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<-]
- สตรีม Fibonacci:
>++++++++++>+>+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[[-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>]<<<]
- ASCII Sequence จนถึงอินพุต:
,[.[>+<-]>-]
(อันนี้ต้องใช้จำนวนเซลล์ที่แตกต่างกันตามอินพุต)