#include #include #include using namespace std; bool CheckA(const vector& v,const list >& l) { list >::const_iterator i; vector w(v.size()),ww(v.size()); int j,k; for (i=l.begin();i != l.end();++i) { const vector& vv = *i; copy(vv.begin(),vv.end(),w.begin()); for (j=0;j<3;++j) { copy(w.begin(),w.end(),ww.begin()); for (k=0;k(),9)); if (equal(v.begin(),v.end(),w.begin())) return false; } return true; } bool Check(const vector& v) { int i,j,n=v.size(); for (i=0;i v(8); list > l; int i,n=0; for (i=0;i(cout)); cout << endl; } } while (next_permutation(v.begin(),v.end())); return 0; } //---------------------------------------------------------------------------