Pourquoi faire marche arrière? Utilisez le petit nombre de solutions pour obtenir une preuve.
Même un algorithme glouton suffira: Comptez le nombre de carrés accessibles à partir de chaque carré. Choisissez un carré ayant la plus grande portée qui ne chevauche pas une portée précédemment sélectionnée. Répéter.
L'ambiguïté génère des variations horizontales, verticales et latérales. N évêques est seulement suffisant pour atteindre chaque carré avec exactement un évêque. Si vous avez sélectionné des carrés dont la portée se chevauchait, le décompte final des carrés accessibles serait inférieur. Hmm, peut-être que vous avez besoin de quantifier combien plus faible pour un mauvais carré donné. Ça peut être faisable.
Pour un espace de problème aussi important, le retour arrière en force brute ne semble pas prometteur.
Je suis sûr que quelqu'un peut vous aider; où, exactement, êtes-vous coincé? –
Pourquoi ne pas faire marche arrière? :-P – Vlad
Eh bien ... Il y a un problème similaire avec les reines, mais tout ce que vous avez à faire avec elles est de vérifier si la reine en cours de placement est placée sur une case légale. Mais avec les évêques, devez-vous être conscient des carrés vides tout au long de l'algorithme? C'est très inefficace, n'est-ce pas? Comme vous avez besoin de "redessiner" le tableau après avoir placé/enlevé chaque évêque. – Cinnamon