米国では、道路上の交通の2つの反対方向は、通過が許可されている場合は黄色の破線で、通過が許可されていない場合は黄色の実線で区切られています。
(片側だけを通過させてその側を通過させることができ、黄色の線は中央やリバーシブルレーンなどの他のことを意味する場合がありますが、これらの場合は関係ありません。)
かかるプログラム書くランレングスエンコードされた文字列P
のために渡すとN
するために無通過し、対応する道路のASCIIバージョンを出力します。中心線を除き、道路は常に同じパターンを持っています。これは、以下の例から簡単に推測できます。
各入力文字列の前P
およびN
入力文字列には正の10進数があります。この数は、長さ定義通過又は無通過する道路の現在の一部の領域を。
例
の入力は、通過しない道路の12N
12列を生成します(中心線all ):=
____________
============
____________
の入力は12P
、通過する道路の12列を生成します(中心線が-
繰り返されます)。
____________
- - - - - -
____________
渡すと何の通過は、その後組み合わせることができません、例えば、4N4P9N7P1N1P2N2P
生成します:
______________________________
====- - =========- - - -=-==-
______________________________
これらは、4つの通過しない列、4つの通過、9つの通過なしなどです。
通過ゾーン-
は、スペース()ではなく、常に左端のダッシュ()で始まることに注意してください。これは必須です。
詳細
- 入力に2つの
N
ゾーンまたは2つのP
ゾーンが連続することはありません。たとえば、4P5P
発生することはありません。 - 先頭に正の数字がない文字をサポートする必要はありません。平野
P
は常に1P
、平野N
は常にです1N
。 - 道路の最後の列を超えない限り、後続スペースが存在する場合があります。オプションの末尾の改行が1つある場合があります。
- プログラムの代わりに、ランレングスでエンコードされた文字列を取り込んで、ASCIIロードを出力または返す関数を作成できます。
- 任意の標準的な方法(stdin、コマンドライン、関数arg)で入力を受け取ります。
バイト単位の最短コードが優先されます。Tiebreakerは以前の投稿です。