บ้านของซานตาคลอส
หมายเหตุ:นี่เป็นความท้าทายแรกที่ฉันพยายามตั้งไว้ มันผ่านแซนด์บ็อกซ์แล้ว แต่ถ้าคุณพบว่ามีบางอย่างผิดปกติโปรดอย่าเพิ่งลงคะแนน แต่แสดงความคิดเห็นเพื่อที่ฉันจะได้ปรับปรุงได้
พื้นหลัง
มีปริศนาเด็กอายุที่ความท้าทายคือการวาดกล่องที่มีหลังคาและข้ามผ่านกลางโดยไม่ต้องยกปากกาของคุณจากกระดาษหรือข้ามเส้นใด ๆ สองครั้ง
ในประเทศเยอรมนีเป็นที่รู้จักกันในนาม "das Haus des Nikolaus" หรือ "The House of Santa Claus" ฉันจำสิ่งที่เราเคยเรียกมันไม่ได้ สำหรับใครที่ไม่คุ้นเคยกับปริศนาที่รายละเอียดทั้งหมดที่มีอยู่ที่นี่
นี่คือตัวแทนศิลปะ ASCII ของบ้าน
/\
/__\
|\/|
|/\|
----
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นเพื่อวาด House of Santa Claus ในภาษาที่คุณเลือก
ฟังดูง่ายเกินไปหรือ นี่คือการจับ มันจะต้องส่งออกแต่ละขั้นตอนของการวาดภาพและปฏิบัติตามกฎของตัวต่อ โปรแกรมของคุณไม่จำเป็นต้องป้อนข้อมูลใด ๆ บ้านที่สร้างเสร็จจะต้องตรงตามที่แสดงด้านบน
ตามเว็บไซต์ข้างต้นมี 44 โซลูชั่นที่เป็นไปได้ คุณสามารถใช้หนึ่งในนั้น นี่เป็นความท้าทายของ ASCII ดังนั้นคุณไม่จำเป็นต้องคำนวณวิธีแก้ปัญหา แต่ใช้เพื่อวาดมันเท่านั้น
เอาท์พุต
ตัวอย่างของเอาต์พุตที่ต้องการจากหนึ่งใน 44 โซลูชันดังแสดงด้านล่าง:
----
\
\
----
__
\
\
----
\
__\
\
\
----
/\
/__\
\
\
----
/\
/__\
|\
| \
----
/\
/__\
|\/
|/\
----
/\
/__\
|\/|
|/\|
----
กฎระเบียบ
- ฉันเพิ่มบรรทัดใหม่พิเศษ 1 บรรทัดระหว่างแต่ละเอาต์พุตที่คาดหวังเพื่อพยายามทำให้ข้อกำหนดชัดเจนขึ้น นี่เป็นทางเลือก อนุญาตให้มีจำนวนบรรทัดว่างระหว่างแต่ละเอาต์พุต
- ผลลัพธ์ของคุณจะต้องประกอบด้วยอักขระ /, \, -, _ และช่องว่างดังที่แสดงด้านบน อนุญาตให้เว้นวรรคต่อท้าย
- แต่ละบรรทัดในรูปวาดของคุณต้องดำเนินการต่อจากจุดสิ้นสุดของบรรทัดก่อนหน้าและคุณไม่สามารถทำซ้ำบรรทัดใด ๆ
- ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
- คุณไม่จำเป็นต้องเอาท์พุทสัมผัสที่กล่าวถึงในลิงค์ด้านบน
- นี่คือรหัสกอล์ฟดังนั้นคำตอบสั้น ๆ เป็นไบต์จะเป็นผู้ชนะ
ผลลัพธ์
บางคำตอบที่ดีและขอบคุณและเคารพทุกคนที่โพสต์ ฉันบอกว่านับไบต์ต่ำสุด แต่ฉันได้ทำเครื่องหมายเป็นคำตอบด้านบนไม่เพียง แต่นั้นสำหรับคำอธิบายที่ดีของรหัส Nice one @Dennis