Os desafios dos camaleões são aparentemente ruins . Que pena, camaleões são criaturas bonitas. Hora de mudar!
Como todos sabemos, muitos camaleões possuem uma capacidade notável de se misturar com o ambiente ao mudar a cor de sua pele. Qual é também o objetivo deste desafio.
Desafio
Imagine um quadrado de nove pixels. Oito pixels são os arredores. No centro está o camaleão.
Como isso:
O camaleão tenta naturalmente se misturar com o ambiente. Isso é feito alterando sua cor para a média da dos pixels adjacentes. Então, nesse caso, o camaleão mudaria de cor para .
Objetivo
Dadas as cores dos pixels circundantes, produza a cor do camaleão.
A cor do camaleão é definida como o total de todo vermelho, verde e azul nos pixels ÷ 8.
Entrada
Uma matriz de valores de cores para os oito pixels circundantes, começando no canto superior esquerdo e continuando no sentido horário, da seguinte maneira:
[[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>],[<red>,<green>,<blue>]]
Você pode optar por receber a entrada de uma forma diferente, desde que consista em oito triplos de números decimais de 0 a 255.
Se você receber uma entrada de uma forma diferente, os números deverão ter um comprimento consistente ou um separador não numérico entre eles. Os triplos devem ter um caractere de separação, a menos que sejam preenchidos com 0 a 9 dígitos. (Por exemplo, 044200255044200255044200255044200255044200255044200255044200255044200255
é válido, também é 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255 44 200 255
e 44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255$44?200?255
, mas 4420025544200255442002554420025544200255442002554420025544200255
não é.)
Resultado
Uma matriz / string / etc. contendo as cores do pixel central (em decimal), assim:
[<red>,<green>,<blue>]
Caso você produza algo diferente de uma matriz: os números devem ter um comprimento consistente ou ter um separador não numérico entre eles. (Por exemplo, 044200255
é válido, também é 44 200 255
, mas 44200255
não é.)
Os números não podem conter pontos decimais, por exemplo, 44.0 200 255.0
é inválido.
Arredondamento
A saída deve ser arredondada para o número inteiro mais próximo. (As metades devem ser arredondadas para cima.) Por exemplo, se a soma de todo o vermelho for 1620 , você deverá produzir 203
, não 202
ou 202.5
.
Exemplos
As imagens são apenas ilustrativas. O pixel do meio é a saída, os pixels ao redor são a entrada.
Entrada:
[[200,200,200],[200,200,200],[200,200,200],[200,200,200],[200,200,200],[200,200,200],[200,200,200],[200,200,200]]
Resultado:
[200,200,200]
Entrada:
[[0,0,0],[255,255,255],[0,0,0],[255,255,255],[255,255,255],[0,0,0],[255,255,255],[0,0,0]]
Resultado:
[128,128,128]
Entrada:
[[0,200,200],[200,0,200],[200,200,0],[60,200,0],[200,0,200],[0,200,220],[2,200,0],[0,0,0]]
Resultado:
[83,125,103]
Entrada:
[[0,56,58],[65,0,200],[33,200,0],[60,33,0],[98,0,200],[0,28,220],[2,200,0],[99,0,5]]
Resultado:
[45,65,85]
As submissões podem ser um programa completo ou uma função. Aplicam-se as regras de E / S padrão e brecha .