Este é um 3x3
quebra-cabeça ASCII:
_____ _____ _____
| _| |_ |
| (_ _ _) |
|_ _|_( )_|_ _|
| (_) |_ _| (_) |
| _ _) (_ _ |
|_( )_|_ _|_( )_|
| _| (_) |_ |
| (_ _) |
|_____|_____|_____|
Este também é um 3x3
quebra-cabeça ASCII:
_____ _____ _____
| |_ _| |
| _ _) (_ _ |
|_( )_|_ _|_( )_|
| _| (_) |_ |
| (_ _ _) |
|_ _|_( )_|_ _|
| (_) |_ _| (_) |
| _) (_ |
|_____|_____|_____|
Cada linha em um quebra-cabeça ASCII (excluindo as caixas de arestas, ou seja, as peças literalmente nas arestas) consiste no seguinte padrão:
_ _ _
_( )_ _ _ _( )_ _ _ _( )_
|_ _| (_) |_ _| (_) |_ _|
_) (_ _ _) (_ _ _) (_
|_ _|_( )_|_ _|_( )_|_ _| ...
(_) (_) (_)
Dados 2 números inteiros H
e W
onde H
está a altura (quantidade vertical) e W
a largura (quantidade horizontal) H
e W
são >1
emitidos um possível HxW
quebra-cabeça ASCII.
Exemplos
Caso de teste 1
Entrada: 2, 4
Saída:
_____ _____ _____ _____
| |_ _| |_ |
| _ _) (_ _ _) |
|_( )_|_ _|_( )_|_ _|
| _| (_) |_ _| (_) |
| (_ _) (_ |
|_____|_____|_____|_____|
Caso de teste 2
Entrada: 4, 4
Saída:
_____ _____ _____ _____
| |_ _| |_ |
| _ _) (_ _ _) |
|_( )_|_ _|_( )_|_ _|
| _| (_) |_ _| (_) |
| (_ _ _) (_ _ |
|_ _|_( )_|_ _|_( )_|
| (_) |_ _| (_) |_ |
| _ _) (_ _ _) |
|_( )_|_ _|_( )_|_ _|
| _| (_) |_ _| (_) |
| (_ _) (_ |
|_____|_____|_____|_____|
Caso de teste 3
Entrada: 3, 5
Saída:
_____ _____ _____ _____ _____
| |_ _| |_ _| |
| _ _) (_ _ _) (_ _ |
|_( )_|_ _|_( )_|_ _|_( )_|
| _| (_) |_ _| (_) |_ |
| (_ _ _) (_ _ _) |
|_ _|_( )_|_ _|_( )_|_ _|
| (_) |_ _| (_) |_ _| (_) |
| _) (_ _) (_ |
|_____|_____|_____|_____|_____|
Caso de teste 4
Entrada: 2, 2
Saída:
_____ _____
| _| |
| (_ _ |
|_ _|_( )_|
| (_) |_ |
| _) |
|_____|_____|
Esclarecimentos
- A altura e a largura de cada peça do quebra-cabeça não devem ser redimensionadas para cima ou para baixo.
- Com
H
eW
sendo maior que uma, as menores dimensões possíveis são2x2
(consulte a IO 4). - Você pode ter um programa completo ou uma função.
- A entrada será de 2 linhas com
H
a 1ª eW
a 2ª se você estiver usando uma função, poderá tê-las nos parâmetros. - Saída para stdout (ou algo semelhante).
- Este é o código-golfe, pelo que a resposta mais curta em bytes vence.