-X
ลองออนไลน์!
ลองย้อนกลับ!
คำอธิบาย
ปรากฎว่าสิ่งนี้ง่ายกว่าการท้าทายครั้งก่อนใน Stack Cats โปรแกรมเต็มรูปแบบ (หลังจากใช้-m) -X-ที่นี่คือ Xใช้ในการสลับสแต็คทางซ้ายและขวาของหัวเทปนั่นคือไม่มีผลกับสแต็กเริ่มต้นเลยเราสามารถข้ามได้ แต่แล้วโปรแกรมก็มีประสิทธิภาพเพียง--(ลบล้างส่วนบนสุดของสแต็กสองครั้ง) ซึ่งไม่ทำอะไรเลย
สำหรับโปรแกรมผกผันใช้ให้-m X-Xอีกครั้งXไม่ทำอะไรเลยดังนั้นโปรแกรมจึงมีประสิทธิภาพเพียง-ซึ่งขัดแย้งกับส่วนบนสุดของสแต็ก
โซลูชัน 2 ไบต์อื่น ๆ เท่านั้น-=แต่ก็เหมือนกันทุกประการ ความแตกต่างเพียงอย่างเดียวคือการ=แลกเปลี่ยนเฉพาะยอดของกองที่อยู่ติดกันไม่ใช่กองทั้งหมด
แต่อีกครั้งการใช้-mรู้สึกเหมือนโกงดังนั้นด้านล่างเป็นโซลูชันที่ใช้โปรแกรมที่มิเรอร์ทั้งหมด
:I<->I:
ลองออนไลน์!
ลองย้อนกลับ!
คำอธิบาย
การพิจารณาจากคำตอบก่อนหน้านี้ยังคงใช้ : ความต้องการใด ๆ Iวิธีการแก้ปัญหาที่ถูกต้องที่จะใช้ตัวละครที่จับคู่และ โซลูชั่นที่เป็นไปได้หกประการ (รวมอยู่ในลิงค์ TIO) เหมือนกันหมด -และ_เทียบเท่าในโปรแกรมนี้และ:สามารถถูกแทนที่ด้วย|หรือT(ซึ่งทำเช่นเดียวกันสำหรับอินพุตที่ไม่เป็นศูนย์ ฉันเพิ่งเลือกอันนี้เพื่ออธิบายเพราะมันง่ายที่สุด
ดังนั้นโปรดจำไว้ว่าสแต็กเริ่มต้นเก็บอินพุตไว้ที่ด้านบนของ-1(ด้านบนของศูนย์จำนวนมากอนันต์) ในขณะที่สแต็คอื่น ๆ ตามเทปจะเก็บค่าศูนย์ไว้เท่านั้น Stack Cats ยังมีคุณสมบัติที่โปรแกรมที่มีความยาวเท่ากันไม่ได้ทำอะไรเลย (หากมันถูกยกเลิก แต่เราไม่สามารถใช้ลูปสำหรับความท้าทายนี้ได้) จากนั้นก็เหมือนกันจริงสำหรับโปรแกรมที่มีความยาวคี่ซึ่งตัวละครศูนย์กลางไม่ได้ทำอะไรเลย ... ลองดู:
:    Swap the input with the -1 below.
I    Move the -1 one stack to the left and turn it into +1.
<    Move another stack left (without taking the value).
-    Negate the zero on top of that stack (i.e. do nothing).
ดังนั้นช่วงครึ่งหลังของโปรแกรมจะเป็นการยกเลิกครึ่งแรกและเราก็จบลงด้วยอินพุตที่ด้านบนของ-1อีกครั้ง
:I>-<I:โปรแกรมที่ตรงกันข้ามคือ มาดูกันว่าการเปลี่ยนแปลงสิ่งต่าง ๆ :
:    Swap the input with the -1 below.
I    Move the -1 one stack to the left and turn it into +1.
>    Move one stack right, i.e. back onto the initial stack which still holds the input.
-    Negate the input.
<    Move back to the left where we've parked the 1.
I    Move that 1 back onto the initial stack and turn it back into a -1.
:    Swap the -1 below the negated input to act as an EOF marker.