本当に密集したプロットにラベルを追加しようとしたことがある場合、ラベルが互いに重なり合って読みにくくなることがあります。同様のことを1Dで行います。
入力は(label, x-coordinate)
ペアのシーケンスになり、出力は各ポイントとラベルを所定の順序で描画した結果になります。*
ポイントを表すアスタリスクは、指定されたx座標に配置され、ラベルが続く必要があります。既存の文字はすべて上書きされます。
たとえば、入力が
Hello 0
World 8
Fizz 3
Buzz 5
PPCG 16
X 9
その後、次のことが起こります。
*Hello
*Hello *World
*He*Fizz*World
*He*F*Buzzorld
*He*F*Buzzorld *PPCG
*He*F*Buz*Xrld *PPCG
最後の行が出力されます。
I / Oルール
入力は、任意の数のペアで構成できます。各ラベルは大文字と小文字のみで構成され、ラベルの長さは最大で127文字です。各x座標は0から127の間です。
入力は、ペアが明確であり、ラベル/ x座標が入力内で交互になるように、任意の便利なリストまたは文字列形式にすることができます。たとえば、
[("Hello", 0), ("World", 8) ...]
またはのような形式[0 "Hello" 8 "World" ...]
は問題ありません。ただし、ラベルとx座標の2つの別個のリストを想定することはできません。機能と完全なプログラムはどちらも大丈夫です。
ラベルで覆われていないスポットはスペースで表す必要があります。ただし、単一のオプションの末尾の改行を除いて、余分な先頭または末尾の空白はない場合があります。
例
入力:
OneLabel 10
出力:
*OneLabel
入力:
Heathrow 0
Edinburgh 2
London 4
Liverpool 6
Oxford 8
出力:
*H*E*L*L*Oxfordl
入力:
alpha 20
beta 4
gamma 57
delta 3
epsilon 22
zeta 32
eta 53
theta 27
出力:
*delta *a*epsi*thetazeta *eta*gamma
入力:
abc 5
d 5
abc 10
ABCDEFGHIJKLMNOPQRSTUVWXYZ 127
出力:
*dbc *abc *ABCDEFGHIJKLMNOPQRSTUVWXYZ
ラベルやx座標が繰り返される場合があることに注意してください。