设为首页 加入收藏

TOP

C/C++:八皇后(四)
2013-04-24 12:14:23 来源: 作者: 【 】 浏览:1199
Tags:C/C 皇后

 

  }

  // 检columnx列

  for (j = 0; j < 8; j++) {

  if (array[j][column] != 0) {

  return false;

  }

  }

  // 检查对角向左上

  i = row;

  j = column;

  while (i >= 0 && j >= 0) {

  if (array[i][j] != 0) {

  return false;

  }

  i--;

  j--;

  }

  // 检查对角向右上

  i = row;

  j = column;

  while (i >= 0 && j < 8) {

  if (array[i][j] != 0) {

  return false;

  }

  i--;

  j++;

  }

  // 检查对角向左下

  i = row;

  j = column;

  while (i < 8 && j >= 0) {

  if (array[i][j] != 0) {

  return false;

  }

  i++;

  j--;

  }

  // 检查对角向右下

  i = row;

  j = column;

  while (i < 8 && j < 8) {

  if (array[i][j] != 0) {

  return false;

  }

  i++;

  j++;

  }

  return true;

  }

  bool isResult(int** array) {

  int size = 0; // 皇后个数

  // 统计皇后个数

  for (int i = 0; i < 8; i++) {

  for (int j = 0; j < 8; j++) {

  if (array[i][j] != 0) {

  size++;

  }

  }

  }

  // 没有8个皇后,说明不是结果

  // 有8个皇后,因为每个皇后的放置都是在合法位置, 所以只需要简单的计算皇后个数就知道是不是结果.

  if (size != 8) {

  return false;

  }

  return true;

  }

      

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇标准C++中有四个类型转换符 下一篇C++:LIB和DLL的区别与使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: