首页 > 代码库 > 8皇后问题
8皇后问题
typedef struct Spoint{ int x; int y; Spoint() { x = -1; y = -1; }};static Spoint point[8];int Queen8(int n, int cur){ static int iCount = 0; if(cur == n) { iCount++; for(int i = 0; i < n; i++) { printf("(%d,%d) ", point[i].x, point[i].y); } printf("\n"); } else { for(int i = 0; i < n; i++) { bool bNextRow = false; for(int j = 0; j < n; j++) { int bShow = false; for(int k = 0; k < cur; k++) { if(i == point[k].x ) { bNextRow = true; break; } if(j == point[k].y || (i < point[k].x)|| (i == point[k].x - 1 && j == point[k].y - 1)||(i == point[k].x - 1 && j == point[k].y + 1)|| (i == point[k].x + 1 && j == point[k].y - 1)||(i == point[k].x + 1 && j == point[k].y + 1)) { bShow = true; break; } } if(bNextRow) { bNextRow = false; break; } if(!bShow) { bShow = false; point[cur].x = i; point[cur].y = j; Queen8(n, cur + 1); } } } } return iCount;}int WQueen8(){ int cur = 0; int n = 8; int *B = (int *)malloc(n * n * sizeof(int)); memset(B, 0, n * n * sizeof(int)); int num = Queen8(n, cur); delete [] B; return num;}
8皇后问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。