八皇后(信息学奥赛一本通-T1214)
【题目描述】
会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将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)相关推荐
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 经典问题的另类解法——以信息学奥赛一本通c++版1216红与黑为例
题目链接:信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn) 题目描述: 有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动 ...
- 信息学奥赛一本通在线提交地址
信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 《信息学奥赛一本通 提高篇》
提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
最新文章
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
- php中的冒号应用,php中双冒号的应用
- 数据可视化【二】HTML+CSS+SVG+D3
- 砥志研思SVM(四) 序列最小最优化算法(SMO)论文翻译
- 分布式事物框架TCC-Transaction使用教程
- 如何优雅的使用fbx sdk
- CCF201709试题
- shell 启动java程序_Shell 脚本启动java程序
- 数据结构之-冒泡排序
- 蓝桥杯c语言试题 历届真题 天干地支【第十一届】【决赛】【A组】
- 易语言与python爬虫_022 Python爬虫原理与python爬虫实例大全
- 图像处理中的深度学习技术
- C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧
- c++ 光标移动定位
- Codeforces Round #828 (Div. 3) E1. Divisible Numbers (easy version) 解题报告
- Rain on your Parade(二分图匹配-Hopcroft-Carp算法)
- ps aux 进程状态为 I (大写i)
- Android自定义ViewGroup的布局,往往都是从流式布局开始
- Speedoffice(excel)如何制作斜线表头
- 软件测试 | 测试开发 | Nginx反向代理及内部模型简述