210
Problè mes de satisfaction de contraintes
cout << endl;
}
bool back trac k (in t numVar ) {
}
if (numVar == nombreVariables)
return true ;
else
for (int i = O; i < variables [numVar ]. taille ();
i ++ ) {
}
variables [numVar ]. aff ecte (i );
if (consistante (numVar))
if (backtrack (numVar + 1))
return true;
variables [numVar ]. desaffecte ();
return false;
int main ( int argc , char ** argv ) {
if (argc > 1)
}
nbReines = atoi (argv [l] );
initReines ();
if ( backtrack (0))
affic heSolution ();
12.11.3 Le Sudoku
#include
using namespace std;
const int TailleMax = 25;
int tailleCarre = 3, taille = tailleCarre * tailleCarre;
Domainelntervalle var [ TailleMax ] [ TailleMax ];
void in i t () {
}
for (int i = O; i < taille; i++) {
for ( in t j = 0; j < ta i 11 e ; j ++ )
var [i] [j ]. alloue (taille );
}
bool consistant (inti, int j, int val ) {
Précédent

- 224/256

Suivant