(Espero que ainda seja Ação de Graças para você)
Você tem um peru para o jantar de ação de graças, mas não sabe como distribuí-lo uniformemente. O problema é que algumas pessoas comem mais que outras, então você precisa encontrar uma solução
Entrada
Haverá duas entradas. O primeiro será uma arte ascii de várias pessoas.
o
o \|/
\|/ |
| |
/ \ / \
especificações ascii-art
Cada pessoa ocupa uma largura de 3 colunas. Cada pessoa é separada por uma única coluna de espaços. O topo de cada pessoa é um o. Abaixo de o, deslocados por 1e -1no x, estão \e /, respectivamente. Da osegunda à última linha da entrada |, a quantidade dessas por pessoa é a sua "altura". Os únicos dados que você precisará extrair de cada pessoa são suas "alturas".
Sempre haverá pelo menos uma pessoa. Cada pessoa sempre tem pelo menos 2 alturas. A altura máxima que seu programa deve suportar é pelo menos uma altura de 64.
Se você deseja que a entrada seja preenchida com espaços para formar um retângulo, especifique isso na sua resposta.
A segunda entrada é a Turquia. O peru não é realmente um peru, mais de NxMdimensões de um peru. Se a segunda entrada for3x2 , o peru tem dimensões de 3 * 2, com uma área total de 6.
Resultado
A saída pode ser uma lista ou a alternativa mais próxima do seu idioma (por exemplo, Matriz). Você também pode gerar uma string, com os valores separados por espaços.
Os valores para cada pessoa devem ser exibidos na ordem em que foram inseridos.
Desafio
Seu objetivo é dividir a área da Turquia entre as pessoas.
Um cenário de exemplo:
Suponha que sejam duas pessoas, com alturas de 3e 6, respectivamente. Se houver um peru de 5x3. A área total do peru que precisará ser distribuída é de15 .
Agora, como você o distribuiria entre todos? Aqui está como:
the_persons_height
TurkeyForAPerson = -------------------- * turkey_area
sum_of_all_heights
Isso significa que, para a primeira pessoa com uma altura de 3, eles obterão 3/9*15peru ou 5a segunda pessoa com uma altura de que 6eles obterão 6/9*15ou 10peru.
Resultado
A saída deve consistir apenas de dígitos e ., a menos que você opte pelo bônus. Nesse caso, ele pode consistir apenas em dígitos, espaços ( ) e uma barra ( /).
Exemplo completo
Entrada:
6x5
o
|
o \|/
\|/ |
| |
| |
/ \ / \
Resultado:
11.25 18.75
Bónus
-20% Bônus: Você produz uma fração (deve ser simplificada), não importa se é uma fração mista ou imprópria.
Pontuação
Este é o código-golfe, pelo que o código mais curto em bytes vence!
