Introdução
Tangrams são um quebra-cabeça clássico que envolve a organização / montagem de blocos em várias formas. Do chinês 七巧板 - literalmente significa "sete pranchas de habilidade". Vamos pegar essa idéia e usar as sete peças de Tetrominos para preencher uma grade.
Desafio
Escreva uma função ou programa que use uma matriz de coordenadas da grade como entrada e produza uma grade completa de 10 por 20 preenchida com peças do Tetris, exceto nas coordenadas especificadas.
Otimize sua pontuação tentando manter a distribuição das peças uniforme.
Critério
Use esta pasta de coordenadas para realizar sua tarefa. Existem cinco conjuntos de coordenadas. Sinta-se livre para modificar o formato em que as coordenadas são gravadas, mas não os valores.
O conjunto de dados nº 2 não pode ser resolvido - nesse caso, basta gerar a grade com as células de entrada preenchidas (ou seja, Xonde estão os orifícios).
Entrada
As coordenadas da grade representam 'furos' na grade. São células que não podem conter nenhuma parte de um Tetromino.
Coordenadas da grade:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
Use o estilo de matriz da sua linguagem de programação de escolha para inserir as coordenadas.
Represente orifícios na grade com um
Xou outro ASCII imprimível .
Resultado
Usando um tamanho de grade Tetris padrão de 10 células de largura por 20 células de altura , imprima uma grade de solução se e somente se a grade puder ser preenchida completa e perfeitamente usando peças Tetromino.
Peças construídas com letras I, O, L, J, T, Z, Sda seguinte forma:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
Exemplo
Exemplo de solução de saída sem coordenadas de entrada:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
Com distribuição da seguinte forma:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
Notas
As coordenadas representam um único Xe Yposição na grade. A grade é baseada em 0, ou seja, a coordenada (0,0)deve ser a célula superior esquerda ou inferior esquerda, a escolha do autor.
Os tijolos podem:
- ser selecionado a critério do autor.
- ser rotacionado como o autor entender.
- ser colocado na grade em qualquer lugar, a critério do autor (também conhecido como: sem gravidade Tetris)
Os tijolos não podem:
- ser colocado fora dos limites da grade.
- sobreponha um tijolo ou furo existente na grade.
- ser uma peça Tetris tetromino não padrão.
Pontuação
Sua pontuação está no formato:
(1000 - [bytes no código]) * (M / 10 + 1)
Onde M é um multiplicador para a distribuição de peças usadas em seus conjuntos de soluções.
Maior pontuação dos Ides de março vence.
Para calcular M, adicione o menor valor individual de distribuição de tetromino para cada conjunto e, em seguida, calcule M. a média arredondada para baixo.
Por exemplo:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4,6
Então você usaria 4como seu valor M.
Nota: Se um conjunto não tiver solução, não considere esse conjunto no cálculo de M, pois não haveria distribuição tetromino.