ท้าทาย
เขียนโปรแกรมที่ใช้จำนวนเต็ม 11x11 อาเรย์และสร้างสิ่งปลูกสร้างบล็อก 3D ASCII ซึ่งแต่ละค่าในอาเรย์แสดงถึงความสูงของคอลัมน์ของบล็อกที่พิกัดตรงกับตำแหน่งอาเรย์ ความสูงเชิงลบคือคอลัมน์ "ลอย" - จะเห็นเฉพาะบล็อกบนสุดเท่านั้น
ตัวอย่าง
__________________
___ /\__\__\__\__\__\__\
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\__\ /\/\__\__\__\__\__\__\
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\/__/ /\/\/__/__/__/__/__/__/
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /\/\__\ /\/\/\__\ /\/\/__/
1, 0, 0, 7,-7,-7,-7,-7, 7, 0, 0, \/\/\__\ /\/\/\/__/ /\/\/__/
0, 0, 0, 7,-7,-7,-7,-7, 7, 0, 0, \/\/__/ /\/\/\/\__\ /\/\/__/
0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, \/\__\ /\/\/\/\/__/ /\/\/__/
0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, \/__/ \/\/\/\/\__\_ \/\/__/
1, 0, 0, 4, 3, 2, 1, 0, 0, 0, 1, \/\/\/\/__/_\_ \/__/
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ___ \/\/\/__/__/_\_ ___
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /\__\ \/\/__/__/__/_\ /\__\
1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, \/\__\ \/__/__/__/__/ \/\__\
\/\__\_________ ______\/\__\
\/\__\__\__\__\ /\__\__\__\__\
\/__/__/__/__/ \/__/__/__/__/
อินพุต
อินพุตจะเป็นรายการของจำนวนเต็ม 121 จำนวนทั้งที่อ่านจาก stdin (ตัวเลือกของตัวคั่นขึ้นอยู่กับคุณ) หรือส่งผ่านเป็นอาร์เรย์ (อาจเป็น 1D หรือ 2D)
ความสูงจะอยู่ในช่วง -11 ถึง 11
เอาท์พุต
สิ่งปลูกสร้างที่สร้างขึ้นสามารถเขียนไปยัง stdout แสดงบนหน้าจอโดยตรงหรือส่งคืนเป็นสตริงที่คั่นด้วยบรรทัดใหม่
อนุญาตช่องว่างนำหน้าและต่อท้าย
กฎอาคาร
รูปร่างของบล็อก 3 มิติแต่ละแบบมีลักษณะดังนี้:
___
/\__\
\/__/
และก้อนสี่เหลี่ยมขนาด 2x2x2 มีลักษณะดังนี้:
______
/\__\__\
/\/\__\__\
\/\/__/__/
\/__/__/
เมื่อบล็อกทับซ้อนกันบล็อกที่สูงกว่าจะมีความสำคัญมากกว่าบล็อกที่ต่ำกว่าบล็อกที่อยู่ด้านหน้าจะมีความสำคัญมากกว่าบล็อกที่อยู่ด้านหลังถัดไปและบล็อกทางด้านซ้ายจะมีความสำคัญมากกว่าบล็อกที่อยู่ทางด้านขวา กรณีพิเศษเพียงอย่างเดียวคือบรรทัดบนสุดของบล็อกไม่ควรเขียนทับอักขระที่ไม่ใช่ช่องว่างด้านหลัง
การอธิบายความสูงของคอลัมน์สามารถอธิบายได้ดีที่สุดโดยดูจากการแสดงภาพ 2 มิติจากด้านข้าง
HEIGHT: 1 2 3 -3 -2 -1
__ __
__ |__| |__| __
__ |__| |__| |__| __
|__| |__| |__| |__|
กรณีทดสอบ
หากคุณต้องการลองวิธีแก้ปัญหาของคุณกับอินพุตอีกสองสามข้อฉันได้รวบรวมกรณีทดสอบสองสามข้อไว้ที่นี่
การชนะ
นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะ