Les huit reines

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 996 fois - Téléchargée 29 fois

Contenu du snippet

Le problème des huit reines est un classique dont j'ai ré-entendu parlé dernièrement.
J'ai trouvé que c'était une bonne excuse pour faire un peu de STL ;-)

Source / Exemple :


#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
 
bool isValid( int t[8] ) {
    bool valid = true;
    for ( int i = 0; valid && i < 7; ++i )
        for ( int j = i + 1; valid && j < 8; ++j )
            valid = ( abs( t[j] - t[i] ) != abs( j - i ) );
           
    return valid;
}
 
void display( int t[8] ) {
    copy( t, t + 8, ostream_iterator<int>( cout, ":" ) );
    cout << endl;
}
 
int main() {
    int chess[8] = { 1,2,3,4,5,6,7,8 };
    do {
        if ( isValid( chess ) )
            display( chess );
    }
    while( next_permutation( chess, chess + 8 ) );
}

Conclusion :


Pas de commentaire pour le moment, ni de grande théorie, ce n'est pas là pour répondre à vos devoirs mais juste pour vous montrer une idée.
Bon courage.

A voir également

Ajouter un commentaire

Commentaires

cs_djl
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
5 -
mon message precendent a ete effacé?

cool sinon la stl

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.