Uma Abordagem Passo a Passo
No xadrez, a Rainha é a peça mais poderosa. Ela pode se movimentar (e atacar) em qualquer direção:
Para vencer o problema, duas rainhas nunca podem compartilhar a mesma linha, coluna ou diagonal.
Temos 8 rainhas a colocar. Se duas rainhas não podem compartilhar a mesma coluna: - Cada coluna do tabuleiro (da 1 a 8) DEVE conter exatamente 1 rainha. - Sabendo disso, o nosso problema não é “escolher 8 quadrados de 64”. - É apenas: Em qual linha colocaremos a rainha para cada coluna?
O computador resolve isso utilizando uma técnica chamada Backtracking (Retrocesso/Tentativa e Erro Estruturado). A ideia base é:
N. Vai para coluna N+1.N-1 tentar outra alternativa.A nossa missão prática, programando isso, será construir uma função recursiva:
posicionarRainha(coluna)casaEhSegura(linha, coluna) que checa se as ameaças estão vazias.posicionarRainha(coluna + 1).Prontos para programar o nosso Algoritmo Retratil (Backtracking)?