0001 #include "queen.h" 0002 0003 void place5Queens_BruteForce() { //5皇后蛮力算法 0004 int solu[5]; //解法 0005 int nCandidate = 0; //候选解总数 0006 for ( solu[0] = 0; solu[0] < 5; solu[0]++ ) 0007 for ( solu[1] = 0; solu[1] < 5; solu[1]++ ) 0008 for ( solu[2] = 0; solu[2] < 5; solu[2]++ ) 0009 for ( solu[3] = 0; solu[3] < 5; solu[3]++ ) 0010 for ( solu[4] = 0; solu[4] < 5; solu[4]++ ) { 0011 nCandidate++; 0012 if ( collide ( solu, 0 ) ) continue; 0013 if ( collide ( solu, 1 ) ) continue; 0014 if ( collide ( solu, 2 ) ) continue; 0015 if ( collide ( solu, 3 ) ) continue; 0016 if ( collide ( solu, 4 ) ) continue; 0017 nSolu++; displaySolution ( solu, 5 ); 0018 } 0019 printf ( "%d Queens, %d Solution(s), %d Candidate(s), %dCheck(s)\n\a\a", 5, nSolu, nCandidate, nCheck ); //输出解的总数 0020 }