5.5.5 实战演练[共2页]

  • 格式:pdf
  • 大小:207.34 KB
  • 文档页数:1

3015.5 一山不容二虎——n皇后问题

{ bool ok=true; for(int j=1;jn,表示已经到达叶子结点,记录最优值和最优解,返回。否则,分别判断n(i=1,…,n)个分支,x[t]=i;判断每个分支是否满足约束条件,如果满足则进入下一层Backtrack(t+1);如果不满足则考查下一个分支(兄弟结点)。 void Backtrack(int t) { if(t>n) //如果当前位置为n,则表示已经找到了问题的一个解 { countn++; for(int i=1; i<=n;i++) //打印选择的路径 cout<

5.5.5 实战演练

//program 5-4 #include #include //求绝对值函数需要引入该头文件 #define M 105 using namespace std; int n; //n表示n个皇后 int x[M]; //x[i]表示第i个皇后放置在第i行第x[i]列 n