【题目描述】

在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。

【输入】

(无)

【输出】

按给定顺序和格式输出所有八皇后问题的解(见样例)。

【输入样例】

(无)

【输出样例】

No. 1
1 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 
0 0 0 0 1 0 0 0 
0 0 0 0 0 0 0 1 
0 1 0 0 0 0 0 0 
0 0 0 1 0 0 0 0 
0 0 0 0 0 1 0 0 
0 0 1 0 0 0 0 0 
No. 2
1 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 
0 0 0 1 0 0 0 0 
0 0 0 0 0 1 0 0 
0 0 0 0 0 0 0 1 
0 1 0 0 0 0 0 0 
0 0 0 0 1 0 0 0 
0 0 1 0 0 0 0 0 
...以下省略

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#define N 100
using namespace std;
int a[N][N],b[N];
int vis[N][N];
int tot;
int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
void dfs(int step)
{if(step==8+1){tot++;for(int i=1;i<=8;i++)a[tot][i]=b[i];return;}for(int i=1;i<=8;i++){if(vis[0][i]==0&&vis[1][step+i]==0&&vis[2][step-i+8]==0){vis[0][i]=1;vis[1][i+step]=1;vis[2][step-i+8]=1;b[step]=i;dfs(step+1);vis[0][i]=0;vis[1][i+step]=0;vis[2][step-i+8]=0;}}
}
int main()
{dfs(1);for(int t=1;t<=tot;t++){printf("No. %d\n",t);for(int i=1;i<=8;i++){for(int j=1;j<=8;j++){if(a[t][j]==i)cout<<"1 ";elsecout<<"0 ";}cout<<endl;}}return 0;
}

八皇后问题 (信息学奥赛一本通-T1213)相关推荐

  1. 八皇后(信息学奥赛一本通-T1214)

    [题目描述] 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求 ...

  2. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  3. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  4. 经典问题的另类解法——以信息学奥赛一本通c++版1216红与黑为例

    题目链接:信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn) 题目描述: 有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动 ...

  5. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  6. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  7. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  8. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  9. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

最新文章

  1. java修改 nsf中的数据_最新NSF申请指南中的一些重要改动
  2. 巧解SEP杀毒软件卸载需要密码才能完全卸载问题
  3. 利用wget 抓取 网站网页 包括css背景图片
  4. C++——入门知识点汇总(命名空间、缺省、重载、引用等)
  5. vue.js 默认选中select_vue.js 解决v-model让select默认选中不生效的问题
  6. 【洛谷P4707】重返现世【扩展Min-Max容斥】【dp】
  7. 大数据和云计算涉及的技术_云计算涉及的风险
  8. App接口如何保证安全
  9. [转载]Validation of viewstate MAC failed异常的原因及解决方法
  10. linux性能优化常用命令
  11. Java基础之Maven
  12. 详述人工智能在自动驾驶中的应用
  13. 常用BUG管理工具系统
  14. C++ 实现一个虚拟聊天软件
  15. Spatial Dropout
  16. 计算机上的no是代表什么意思啊,电脑出现nosignal是什么意思
  17. burpsuite代理监听
  18. 雷电模拟器 + Xposed框架 + 北京消费券
  19. Linux下/sys目录介绍
  20. 正午太阳高度的计算机应用,正午太阳高度角计算机应用ppt课件.ppt

热门文章

  1. 值得收藏!数据分析最常用的18个概念,终于有人讲明白了
  2. 测试丢包_入行游戏测试之弱网测试工具
  3. Java 数组转 List 的三种方式及对比
  4. 我就想加个索引,怎么就这么难?
  5. 遇到网络问题你是怎么解决的?
  6. 马化腾生日当天 微信支付居然崩溃了//(ㄒoㄒ)//
  7. JeecgBoot 3.1.0 版本发布,基于代码生成器的企业级低代码平台
  8. JWTToken超时刷新策略
  9. springboot2.0集成activiti modeler
  10. Javascript调试之console对象,它的一些小技巧你都知道吗?