DESAFIO
Dado um conjunto de cartas agrupadas, organize-as no quadro para que cubram totalmente a área.
Representação do Conselho (também conhecido como SHIP DECK)
- O quadro é uma grade 6x6.
- Sempre haverá 36 quadrados no total.
- As colunas estão marcadas com AF.
- As linhas estão marcadas de 1 a 6.
Exemplo:
A B C D E F
+---+---+---+---+---+---+
1 : : : : : : :
+---+---+---+---+---+---+
2 : : : : : : :
+---+---+---+---+---+---+
3 : : : : : : :
+---+---+---+---+---+---+
4 : : : : : : :
+---+---+---+---+---+---+
5 : : : : : : :
+---+---+---+---+---+---+
6 : : : : : : :
+---+---+---+---+---+---+
ENTRADA (também conhecida como CRATES)
- Uma sequência multilinha que contém o conjunto de letras agrupadas.
- Caixas são feitas a partir de grupos de letras idênticas.
- As caixas são imutáveis, o que significa que não podem ser giradas ou invertidas.
- O ponto inicial de cada caixa está no canto superior esquerdo (deve ser levado em consideração ao mover uma caixa para o convés).
- Do ponto superior esquerdo de uma caixa, os seguintes quadrados idênticos só podem estar à direita ou abaixo.
- Qualquer carta pode ser usada para representar uma caixa. As caixas sempre começam na letra
[a]
e sobem no alfabeto. - As caixas são rotuladas por sua letra (ou seja, caixa A, caixa B, etc.)
- O número de caixas pode variar (nem sempre é 10, apesar dos exemplos dados).
- Existem 24 caracteres separando cada bloco de caixas por linha. (início de [a] para início de [b] separados por 24 caracteres, etc.)
Exemplo:
[a][a][a] [b] [c][c]
[a] [b][b][b] [c]
[a] [b][b]
[d] [e] [f][f][f][f][f]
[d][d] [e]
[d][d] [e]
[e]
[e][e]
[g] [h] [i]
[g] [i]
[i]
RESULTADO
É necessário que você imprima uma série de comandos que colocam as caixas em posições no convés para que sejam completamente cobertas (sem espaços vazios).
O formato do comando é assim:
HAUL <crate> TO <column> <row>
ou seja, puxe para a 1
Para esclarecimento, sempre haverá uma solução para a entrada fornecida.
CASOS DE TESTE <- Clique para saber mais.
Entrada
[a][a][a] [b] [c][c][c]
[a][a] [b]
[a] [b][b]
[b][b]
[d] [e] [f]
[d] [f]
[d] [f]
[d]
[d]
[g][g] [h] [i]
[i][i]
[i]
[i][i]
[j][j][j]
Resultado
HAUL I TO A 1
HAUL B TO A 3
HAUL A TO B 1
HAUL J TO D 6
HAUL D TO F 1
HAUL F TO E 1
HAUL C TO C 5
HAUL G TO D 4
HAUL E TO D 3
HAUL H TO C 6
Resultado:
A B C D E F
+---+---+---+---+---+---+
1 : i : a : a : a : f : d :
+---+---+---+---+---+---+
2 : i : i : a : a : f : d :
+---+---+---+---+---+---+
3 : b : i : a : e : f : d :
+---+---+---+---+---+---+
4 : b : i : i : g : g : d :
+---+---+---+---+---+---+
5 : b : b : c : c : c : d :
+---+---+---+---+---+---+
6 : b : b : h : j : j : j :
+---+---+---+---+---+---+
PONTUAÇÃO
Isso é código-golfe, então a resposta mais curta em caracteres vence.