Considere estes sete vagões de trem ASCII.
Motor (E)
__
====== \/
| [] |=========
| )
================
O-O-O O-O-O \\
Carro de passageiro (P)
===============
| [] [] [] [] |
===============
O-O O-O
Vagão coberto (B)
===============
|-|-| | |-|-|
===============
O-O O-O
Petroleiro (T)
_____---_____
( )
===============
O-O O-O
Funil (H)
_______________
\ | | | | | | /
===============
O-O O-O
Mesa (F)
===============
O-O O-O
Caboose (C)
=====
====| |====
| [] [] |
=============
O-O O-O
Escreva um programa que, ao receber uma sequência de caracteres EPBTHFC
, produza sua representação de trem ASCII, usando --
para os acoplamentos de carro. Os caracteres de entrada mais à esquerda se tornam os vagões de trem mais à direita. O trem está sempre voltado para a direita.
Por exemplo, uma entrada de EEHTBPFC
deve produzir
__ __
===== ====== \/ ====== \/
====| |==== =============== =============== _____---_____ _______________ | [] |========= | [] |=========
| [] [] | | [] [] [] [] | |-|-| | |-|-| ( ) \ | | | | | | / | ) | )
=============--===============--===============--===============--===============--===============--================--================
O-O O-O O-O O-O O-O O-O O-O O-O O-O O-O O-O O-O O-O-O O-O-O \\ O-O-O O-O-O \\
Detalhes
- Isso é código de golfe; o programa mais curto em bytes vence.
- Qualquer sequência de uma ou mais letras
EPBTHFC
é entrada válida. - Seu programa deve ser capaz de produzir todos os 7 tipos de carros exatamente como eles aparecem acima.
- Receba as informações da linha de comando ou diretamente do usuário (por exemplo, caixa de mensagem). Saída para stdout. (As cotações em torno da entrada são boas.)
- A altura da saída deve ser 6 ou a altura máxima necessária para os vagões de trem sendo puxados.
- Não coloque acoplamentos (
--
) na frente do primeiro carro ou na traseira do último carro.
E
na frente e pode haver um E
no meio?