c++ 八皇后
时间:2020-01-09
本文章向大家介绍c++ 八皇后,主要包括c++ 八皇后使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#include <stdio.h> char Chessboard[8][8]; int QueenPlace(int LocX,int LocY); int N_Queens(int LocX,int LocY,int Queens) { int i,j; int Result=0; if(Queens==8) return 1; else if(QueenPlace(LocX,LocY)) { Chessboard[LocX][LocY]='Q'; for(i=0;i<8;i++) for(j=0;j<8;j++) { Result+=N_Queens(i,j,Queens+1); if(Result>0) break; } if(Result>0) return 1; else { Chessboard[LocX][LocY]=' '; return 0; } } else return 0; } int QueenPlace(int LocX,int LocY) { int i,j; if(Chessboard[LocX][LocY]!=' ') return 0; for(j=LocY-1;j>=0;j--) if(Chessboard[LocX][j]!=' ') return 0; for(j=LocY+1;j<8;j++) if(Chessboard[LocX][j]!=' ') return 0; for(i=LocX-1;i>=0;i--) if(Chessboard[i][LocY]!=' ') return 0; for(i=LocX+1;i<8;i++) if(Chessboard[i][LocY]!=' ') return 0; i=LocX-1; j=LocY-1; while(i>=0 && j>=0) if(Chessboard[i--][j--]!=' ') return 0; i=LocX+1; j=LocY-1; while(i<8 && j>=0) if(Chessboard[i++][j--]!=' ') return 0; i=LocX-1; j=LocY+1; while(i>=0 && j<8) if(Chessboard[i--][j++]!=' ') return 0; i=LocX+1; j=LocY+1; while(i<8 && j<8) if(Chessboard[i++][j++]!=' ') return 0; return 1; } void main() { int i,j; for(i=0;i<8;i++) for(j=0;j<8;j++) Chessboard[i][j]=' '; N_Queens(0,0,0); printf("the graph of 8 Queens on the chessboard.\n"); printf(" 0 1 2 3 4 5 6 7\n"); printf(" +---+---+---+---+---+---+---+---+\n"); for(i=0;i<8;i++) { printf(" %d |",i); for(j=0;j<8;j++) printf(" %c |",Chessboard[i][j]); printf("\n +---+---+---+---+---+---+---+---+\n"); } }
原文地址:https://www.cnblogs.com/tobetterlife/p/12171005.html
- Mac下使用rz、sz远程上传下载文件的配置记录
- 写文件
- Mac下通过VMware Fusion安装centos虚拟机操作记录
- 进程管理利器-supervisor部署记录
- python大小写转换函数
- zabbix中配置当memory剩余不足20%时触发报警
- VB6再回首:数据访问
- python运用中文注释时报错解决方法
- 分页器常用样式
- 分布式监控系统Zabbix-3.0.3--短信报警设置
- linux下用户操作记录审计环境的部署记录
- open-falcon ---客户机agent操作
- 双拼域名yansuan.com被木雨林收购
- open-falcon ---安装Dashboard时候报错"SSLError: The read operation timed out"
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- scRepertoire||单细胞免疫组库分析:R语言应用(一)
- Docker体验(二) - 自建Image
- 小程序代码复用 - template
- 五. Spring Security 权限管理
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。 表单一 公司信息表单二 员工信息,简化版,只是为了演示表单的切换。以后会出
- 文档驱动 —— 查询组件:将查询功能做到极致!你说还有啥没包含进来?antdv + vue 3.0 全新体验 快捷查询个性化查询方案更换各种查询方式更多的查询条件meta 驱动封装基础
- ES6能干啥?
- JQuery中DOM对象
- ES6都有什么?
- 前端html换肤
- 纯CSS换肤
- JS模块化和使用
- JS中的数组方法
- JS规范注释
- 选择排序,冒泡排序