2
ลำดับเปลือก Koopa
ในเกมซูเปอร์มาริโอที่หลากหลายเปลือกหอยสีเขียวและสีแดงของ Koopa Troopaสามารถเลื่อนลงบนพื้นผิวเรียบได้อย่างไม่น่าเชื่อและทำลายบล็อกอิฐที่ขวางทาง เมื่อกระสุนกระทบกับบล็อกอิฐบล็อกจะแตกตัวกลายเป็นพื้นที่ว่างเปล่าและกระสุน Koopa กลับทิศทาง เป็นตัวอย่างที่ดูเปลือกสีแดงที่นี่ สมมติว่าระดับซูเปอร์มาริโอนั้นสูงเพียงหนึ่งบล็อกและเซลล์กริดทุกเซลล์เป็นอิฐหรือพื้นที่ว่างยกเว้นเซลล์ที่อยู่ด้านซ้ายสุดที่มีกระสุนเคลื่อนที่ไปทางขวา ระดับยังเป็นระยะดังนั้นหากเชลล์ออกจากขอบขวาหรือซ้ายของระดับมันจะกลับเข้าสู่ฝั่งตรงข้าม ในสถานการณ์เช่นนี้เปลือกจะยังคงกระเด็นและทำลายบล็อกอิฐทั้งหมดในระดับจนกว่าจะไม่มีอีกต่อไป เปลือกจะเดินทางไกลแค่ไหนหลังจากที่บล็อกอิฐก้อนสุดท้ายแตก? ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มทศนิยมที่ไม่เป็นลบ หมายเลขนี้ซึ่งแสดงในรูปแบบไบนารีโดยไม่มีศูนย์นำหน้า (ข้อยกเว้นเพียงอย่างเดียวคือ 0 เอง) เข้ารหัสเค้าโครงเลย์เอาต์ระดับสูงหนึ่งบล็อก A 1คือบล็อกอิฐและ a 0คือพื้นที่ว่าง Koopa Shell ถูกแทรกที่ขอบด้านซ้ายของระดับและเริ่มขยับไปทางขวา ตัวอย่างเช่นระดับที่เกี่ยวข้องกับการป้อนข้อมูล39คือ >100111 เพราะ100111เป็น 39 ในไบนารี่และ>และ<เป็นตัวแทนของเชลล์ที่เคลื่อนที่ทั้งซ้ายและขวาตามลำดับ คุณต้องพิมพ์หรือคืนค่าระยะทางทั้งหมดที่กระสุนเดินทางเมื่อเปลือกอิฐก้อนสุดท้าย (อาคา1) แตกหัก ผลลัพธ์สำหรับ39คือ7และการเปลี่ยนแปลงในระดับมีลักษณะดังนี้: Level Cumulative Distance >100111 0 <000111 0 >000110 0 0>00110 1 00>0110 2 000>110 3 000<010 …