都市計画プロジェクトの一環として、都市のスカイラインを表示するプログラムまたは機能を作成する割り当てを取得しました。建築家からの入力があります。プロジェクトは起動段階にあるため、非常に大まかなスケッチで十分です。もちろん、最も簡単な方法は、単にASCIIアートでスカイラインを描くことです。
すべての建物は川沿いにあるため、すべて揃っています。建築家は各建物の高さを入力として提供し、コードはスカイラインを表示する必要があります。
アーキテクトからの入力は、整数または半整数のいずれかです。数値が整数の場合、建物の屋根は平らになりますが、半分の整数では屋根が傾斜します。ゼロは単に平らな地面になります。建物の壁は3文字離れており、ゼロは1文字幅です。隣接する建物は壁を共有しています。
出力に関する詳細と説明については、以下の例をご覧ください。
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)です。
ルール:
- すべての数値に2を掛けて、整数のみを入力として使用するプログラムを作成することはオプションです。そのため、3 3.5 2プログラムはの代わりにを取得する場合があります6 7 4。2番目の入力形式を選択した場合、6を入力すると3階建ての建物になり、7は傾斜屋根などの3階建ての建物になります。
- 出力は上記のとおりになりますが、末尾のスペースと改行は問題ありません。
- 入力の正確な形式はオプションです。あなたの言語で最高のものは何でも。
- 結果を画面に表示して、建築家がそれを見ることができるようにする必要があります。
- 少なくとも1つの整数が与えられ、有効な入力のみが与えられると仮定できます。
これはcodegolfであるため、バイト単位の最短コードが優先されます。