【题目描述】

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

对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。

给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。

【输入】

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数b(1≤b≤92)。

【输出】

输出有n行,每行输出对应一个输入。输出应是一个正整数,是对应于b的皇后串。

【输入样例】

2
1
92

【输出样例】

15863724
84136275

【源程序】

#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()
{int n;cin>>n;dfs(1);while(n--){int i;cin>>i;for(int j=1;j<=8;j++)cout<<a[i][j];cout<<endl;}return 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

最新文章

  1. linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
  2. php中的冒号应用,php中双冒号的应用
  3. 数据可视化【二】HTML+CSS+SVG+D3
  4. 砥志研思SVM(四) 序列最小最优化算法(SMO)论文翻译
  5. 分布式事物框架TCC-Transaction使用教程
  6. 如何优雅的使用fbx sdk
  7. CCF201709试题
  8. shell 启动java程序_Shell 脚本启动java程序
  9. 数据结构之-冒泡排序
  10. 蓝桥杯c语言试题 历届真题 天干地支【第十一届】【决赛】【A组】
  11. 易语言与python爬虫_022 Python爬虫原理与python爬虫实例大全
  12. 图像处理中的深度学习技术
  13. C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧
  14. c++ 光标移动定位
  15. Codeforces Round #828 (Div. 3) E1. Divisible Numbers (easy version) 解题报告
  16. Rain on your Parade(二分图匹配-Hopcroft-Carp算法)
  17. ps aux 进程状态为 I (大写i)
  18. Android自定义ViewGroup的布局,往往都是从流式布局开始
  19. Speedoffice(excel)如何制作斜线表头
  20. 软件测试 | 测试开发 | Nginx反向代理及内部模型简述

热门文章

  1. STM32之FSMC-SRAM例程
  2. Cortex-M3异常中断及向量表定义
  3. excel自动保存_萌新必看!python处理excel实例
  4. 高并发整体可用性:大规模集群下的分片管理策略
  5. Java程序员必备:异常的十个关键知识点
  6. Mobvista首席架构师蔡超:工作感悟之失败与成功,我的8点总结
  7. 华为云技术开放日(第三季)话题介绍和直播群入口
  8. oracle 远程连接超时问题
  9. ubuntu下JDK的自动安装和手动安装
  10. 《JavaScript高级程序设计》笔记 - Map与Object的差异与选择