เป็นส่วนหนึ่งของโครงการวางผังเมืองคุณได้รับมอบหมายให้สร้างโปรแกรมหรือฟังก์ชั่นที่จะแสดงเส้นขอบฟ้าของเมืองจากข้อมูลที่ได้รับจากสถาปนิก โครงการอยู่ในช่วงเริ่มต้นเท่านั้นดังนั้นร่างคร่าวๆจึงเพียงพอ แน่นอนว่าวิธีที่ง่ายที่สุดคือการวาดเส้นขอบฟ้าในรูปแบบ ASCII-art
อาคารทั้งหมดจะอยู่ริมแม่น้ำดังนั้นพวกเขาจึงอยู่ในแนวเดียวกัน สถาปนิกจะให้ความสูงของแต่ละอาคารเป็นอินพุตและรหัสของคุณควรแสดงเส้นขอบฟ้า
ข้อมูลจากสถาปนิกจะเป็นจำนวนเต็มหรือครึ่งจำนวนเต็ม หากจำนวนนั้นเป็นจำนวนเต็มอาคารจะมีหลังคาเรียบในขณะที่ครึ่งจำนวนเต็มจะส่งผลให้เกิดหลังคาแหลม ศูนย์จะพื้นราบ ผนังของอาคารแยกออกจากกัน 3 ตัวในขณะที่ศูนย์จะเป็นตัวกว้างเพียงตัวเดียว อาคารที่อยู่ติดกันแบ่งปันกำแพง
สำหรับรายละเอียดและคำชี้แจงเกี่ยวกับผลลัพธ์โปรดดูตัวอย่างด้านล่าง:
N = 3
___
| |
| |
|___|
N = 3.5
_
/ \
| |
| |
|___|
N = 6
___
| |
| |
| |
| |
| |
|___|
n = 0
_
อินพุตตัวอย่าง: 3 3.5 0 2
_
___ / \
| | | ___
| | | | |
|___|___|_|___|
อินพุตตัวอย่าง: 0 0 2.5 3 0 4 1
___
_ ___ | |
/ \| | | |
| | | | |___
__|___|___|_|___|___|
ลุยวิลล์ ,0 2 1 3.5 0 4 2 4 2 4 6 1 6 0 5 1
___ ___
| | | | ___
_ ___ ___ ___| | | | | |
/ \ | | | | | | | | | | |
___ | | | |___| |___| | | | | | |
| |___| | | | | | | | |___| | | |___
_|___|___|___|_|___|___|___|___|___|___|___|___|_|___|___|
อักขระ ASCII ที่ใช้คือ: บรรทัดใหม่ช่องว่างและ/\_|
(รหัสคะแนน 10, 32, 47, 92, 95, 124)
กฎ:
- มันเป็นทางเลือกในการสร้างโปรแกรมที่รับจำนวนเต็มเป็นอินพุตโดยคูณตัวเลขทั้งหมดด้วยสอง ดังนั้นแทนที่จะสละโปรแกรมของคุณอาจต้องใช้เวลา
3 3.5 2
6 7 4
หากเลือกรูปแบบอินพุตที่สองอินพุต 6 ควรส่งผลให้อาคาร 3 ชั้น 7 ควรเป็นอาคาร 3 ชั้นที่มีหลังคาแหลม ฯลฯ - เอาต์พุตควรตรงตามที่อธิบายไว้ข้างต้น แต่ช่องว่างต่อท้ายและบรรทัดใหม่นั้นโอเค
- รูปแบบที่แน่นอนของอินพุตเป็นตัวเลือก สิ่งที่ดีที่สุดในภาษาของคุณ
- ต้องแสดงผลลัพธ์บนหน้าจอเพื่อให้สถาปนิกสามารถดูได้
- คุณสามารถสันนิษฐานได้ว่าจะมีจำนวนเต็มอย่างน้อยหนึ่งค่าและจะให้เฉพาะอินพุตที่ถูกต้องเท่านั้น
นี่คือ codegolf ดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ