É hora do almoço, estou com fome e vim para o seu Sushi Bar. Você é o Sushi Chef e precisa produzir um programa ou função completa para me fazer um pouco de sushi!
Isenção de responsabilidade: A imagem é meramente ilustrativa e não representa necessariamente o produto exato.
Embora você tenha ingredientes limitados (devido a uma greve dos motoristas de caminhão), tudo bem para mim.
Os ingredientes que você possui (em quantidade suficiente) são:
- Alga nori (feito com:
\/_¯|
) - Atum Cru (
T
) - Salmão Cru (
S
) - Abacate Cru (
A
) - Arroz de Sushi (
o
)
Com esses ingredientes, você é capaz de fazer boas makis para seus clientes.
Seu pedido mínimo é de $ 1 para 2 makis, você só faz makis em casais e aceita apenas números inteiros como pagamento. Você aceita pedidos de até US $ 50 por pessoa (entrada total) porque está sozinho e deve satisfazer todos os seus clientes.
Você precisará obter os pedidos do cliente a partir da entrada padrão em qualquer formato razoável, por exemplo: o [1,T],[2,S],[3,A]
que significa que você deve produzir:
- Dois atum Makis
- Quatro Salmão Makis
- Seis abacates makis
Um maki é feito exatamente assim:
_____
/ooooo\
|ooTTToo|
|\ooooo/|
| ¯¯¯¯¯ |
\_____/
E como você é um bom chef de sushi, sempre organize as makis com as peças de qualquer tipo em formato quadrado ou, no máximo, em formato retangular (o mais próximo possível de um quadrado) sem espaços. A forma geral também é quadrada ou retangular, o mais próximo possível de um quadrado, dada a restrição acima, sem espaços.
Exemplo de entradas / saídas:
Input: [1,T],[2,S],[3,A]
Valid Output:
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
Valid Output:
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooAAAoo||ooTTToo||ooTTToo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
Not Valid Output:
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooAAAoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooAAAoo||ooTTToo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
Not Valid Output:
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/
Not Valid Output:
_____ _____ _____ _____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/ \_____/
Input: [1,S]
Valid Output:
_____ _____
/ooooo\ /ooooo\
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
Valid Output:
_____
/ooooo\
|ooSSSoo|
|\ooooo/|
| ¯¯¯¯¯ |
\_____/
_____
/ooooo\
|ooSSSoo|
|\ooooo/|
| ¯¯¯¯¯ |
\_____/
Input: [1,A],[1,T],[1,S]
Valid Output:
_____ _____ _____
/ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooTTToo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/
_____ _____ _____
/ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooTTToo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/
Valid Output:
_____ _____ _____
/ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/
_____ _____ _____
/ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/
Input: [1,T],[1,A],[2,S]
Valid Output:
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
Valid Output:
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooAAAoo||ooAAAoo||ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/
Valid Output:
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooTTToo||ooTTToo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
Input: [1,T],[1,S],[7,A]
Valid Output:
_____ _____ _____ _____ _____ _____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooSSSoo||ooSSSoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/
_____ _____ _____ _____ _____ _____ _____ _____ _____
/ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\ /ooooo\
|ooTTToo||ooTTToo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/ \_____/
Valid Output:
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooAAAoo||ooAAAoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooSSSoo||ooSSSoo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
_____ _____
/ooooo\ /ooooo\
|ooTTToo||ooTTToo|
|\ooooo/||\ooooo/|
| ¯¯¯¯¯ || ¯¯¯¯¯ |
\_____/ \_____/
Regras:
- Isso é código-golfe, então o código mais curto vence.
- As brechas padrão são proibidas.
[1,T],[2,S],[3,A]
, é válido ou inválido organizá-los para que a linha superior seja TTSA, a linha scond seja SSSA e a linha inferior seja AAAA? Não está claro se isso satisfaz "todos os tipos semelhantes próximos um do outro"; eles certamente estão se tocando.