Depois que células vazias dividem uma linha em segmentos abertos, a pergunta seguinte é: quais blocos de pista pertencem a quais segmentos?
Uma atribuição pista-segmento só é válida se todas as pistas ainda puderem aparecer na ordem correta, com o tamanho correto, os separadores exigidos e todos os estados de célula conhecidos respeitados.
Exemplo: capacidade e ordem forçam uma pista em cada segmento
Considere uma linha de 14 células com pistas 5 4 e uma célula vazia confirmada na posição 6:
????? × ????????
O segmento esquerdo tem comprimento 5. O direito tem comprimento 8.
As duas pistas juntas exigem uma extensão mínima de 10 células, então não cabem juntas no segmento de oito células. Também não cabem juntas no segmento de cinco.
Portanto, precisam ficar separadas pelo vazio confirmado.
Como a ordem das pistas é fixa, a pista 5 pertence ao segmento esquerdo e a pista 4 ao direito.
O segmento esquerdo agora é um encaixe exato: as cinco células são preenchidas.
Quatro fontes principais de evidência para uma atribuição
1. Capacidade do segmento
Se um segmento é pequeno demais para uma pista ou grupo de pistas, essa atribuição é impossível.
A capacidade exclui possibilidades antes mesmo de sabermos a posição exata dos blocos.
2. Ordem das pistas
As pistas não são intercambiáveis. Se 2 5 3 é a sequência, o 2 precisa vir antes do 5 e o 5 antes do 3.
Um segmento à direita não pode receber uma pista anterior se isso obrigar uma pista posterior a aparecer à esquerda.
3. Fragmentos preenchidos confirmados
Uma célula ou fragmento preenchido precisa ser coberto por algum bloco legal.
Se apenas uma pista, em apenas um segmento, pode cobrir aquele fragmento sem violar as demais restrições, a identidade do bloco fica determinada.
4. Blocos concluídos e separadores
Quando um bloco já está completo e sua pista é conhecida, ele divide o restante da sequência. Pistas anteriores precisam aparecer antes dele e pistas posteriores depois dele.
Isso pode transformar uma distribuição antes ambígua em uma atribuição forçada.
A atribuição pode ser forçada sem fixar a posição exata
Saber qual pista pertence ao segmento não significa saber exatamente onde o bloco começa.
Por exemplo, uma pista 4 pode estar comprovadamente atribuída a um segmento de sete células e ainda ter várias colocações legais ali dentro.
Depois da atribuição, use outras técnicas:
- sobreposição para descobrir células que o bloco precisa cobrir;
- alcance para descobrir onde ele pode chegar;
- limites de colocação para restringir início e fim.
Trabalhe com grupos consecutivos de pistas
Atribuição não é sempre “uma pista por segmento”. Um segmento pode conter várias pistas consecutivas.
Por exemplo, se a sequência é 2 3 5 2 e um separador divide a linha em duas grandes regiões, pode ser que a única distribuição possível seja:
- segmento esquerdo:
2 3; - segmento direito:
5 2.
O objeto correto de raciocínio é, portanto, uma partição da sequência de pistas em grupos consecutivos.
Exemplo: três segmentos podem forçar toda a partição das pistas
Considere uma linha dividida em três segmentos abertos com comprimentos 4, 6 e 4, e pistas 3 5 3 na ordem.
A pista 5 não cabe em nenhum dos segmentos externos de comprimento 4, portanto precisa ficar no segmento central.
Como a ordem é 3 5 3, o primeiro 3 precisa ficar à esquerda e o último 3 à direita.
A atribuição completa fica forçada mesmo que nenhum dos três blocos tenha ainda posição exata dentro de seu segmento.
Pense na atribuição como uma partição da sequência de pistas
Para segmentos ordenados da esquerda para a direita ou de cima para baixo, pergunte onde a sequência de pistas pode ser “cortada” sem violar capacidade, ordem e estados conhecidos.
Cada fronteira entre segmentos corresponde a uma possível divisão entre grupos de pistas. Muitas divisões podem ser descartadas porque um dos lados fica com pistas demais ou espaço de menos.
Quando sobra apenas uma partição, a atribuição está provada.
Use a capacidade nos dois sentidos
Não basta testar se as pistas do início cabem no primeiro segmento. Também reserve espaço suficiente para as pistas que ainda precisam caber nos segmentos posteriores.
Da mesma forma, analisar de trás para frente pode eliminar atribuições que parecem possíveis quando observadas apenas da esquerda.
Fragmentos preenchidos não devem ser atribuídos pela aparência
Um fragmento perto de uma pista de mesmo tamanho pode parecer “obviamente” pertencente a ela. Isso não é prova.
A identidade precisa vir das restrições:
- qual pista consegue cobrir o fragmento;
- qual ordem ainda é possível;
- quais separadores precisam existir;
- quanto espaço sobra para as outras pistas.
Método passo a passo
- identifique os segmentos abertos criados por células vazias confirmadas;
- mantenha a sequência completa de pistas em ordem;
- calcule quais grupos consecutivos cabem em cada segmento;
- elimine partições que violem capacidade, células conhecidas ou ordem;
- use blocos concluídos e fragmentos preenchidos para apertar ainda mais as opções;
- quando restar apenas uma atribuição, associe as pistas aos segmentos;
- só então use overlap, alcance ou bounds dentro de cada segmento.
Erros comuns
“Cabe, então pertence ali”
Uma atribuição é válida apenas quando as alternativas foram excluídas. Caber fisicamente é condição necessária, não suficiente.
Atribuir a pista mais próxima a um fragmento preenchido
Proximidade visual não determina identidade. Use a sequência de pistas e a viabilidade global da linha.
Esquecer grupos de pistas
Um segmento grande pode conter várias pistas consecutivas. Testar somente uma pista por segmento pode eliminar soluções legais.
Transformar atribuição em colocação exata
Saber que a pista 5 pertence a um segmento não diz automaticamente em quais cinco células ela está.
O que aprender depois
Depois de saber quais pistas pertencem a cada região, você pode analisar se fragmentos preenchidos precisam se unir ou permanecer separados e pode restringir a posição de cada bloco com limites mais cedo/mais tarde.
FAQ
Um segmento pode conter vários blocos de pista?
Sim. Desde que sejam consecutivos na sequência e haja espaço para os blocos e separadores obrigatórios.
Um segmento aberto pode não conter bloco algum?
Sim. Se nenhuma atribuição válida usar esse segmento, todas as suas células podem ser marcadas como vazias.
Preciso saber a posição exata de um bloco antes de atribuí-lo?
Não. Atribuição identifica qual pista pertence a qual região. A posição exata pode continuar ambígua e ser resolvida depois.